幂等参数说明
2023.05.15 15:17:15
背景
轮询模式下获取结果时,因网络超时或客户未正常处理结果,需要重新获取结果;客户可接入幂等参数,在5分钟有效期内(每次请求后自动续期),可根据请求id获取之前的结果。
请求参数
参数名称 | 类型 | 是否必填 | 最大长度 | 描述 |
---|---|---|---|---|
yidunRequestId | String | 否 | 64 | 幂等请求id,参与签名校验 |
使用yidunRequestId重试获取结果,java伪代码如下:
// ...省略
String yidunRequestId = UUID.randomUUID().toString().replace("-", "");
// 相同的yidunRequestId 获取的回调结果也相同
param.put("yidunRequestId", yidunRequestId);
String response;
try {
response = queryCallbackResult(param);
} catch (Exception e) {
// 获取数据异常(可能网络超时),重试获取
log.error("xxx", e);
response = queryCallbackResult(param);
}
// ...省略
设计说明
接入幂等参数
获取结果时,会根据请求id获取之前的结果;若请求id不存在,获取最新结果。
未接入幂等参数
获取结果时,每次获取最新结果。