背景:
- 由于在开发测试过程中,依赖方的文档没有说明入参的限制,开发不合理入参,导致问题在live显露出来。
- 在测试过程中,又很少去关注对依赖方接口调用的测试,从而导致问题无法暴露。
描述:
问题描述:
- shop_list参数为数组,其限制的最大长度为2000,在live环境入参时,长度超过2000,导致接口调用失败。在test环境由于数据量相对比较少,问题无法显露出来。
# 某api
{
"shopid_list":[601565207],
"region":"CN"
}
扩展与思考:
-
调用依赖方接口应该注意:
-
注意每个请求的参数是否符合需求
- 参数类型
- 参数长度
- 请求体
-
所需要的请求头
- 身份验证相关的请求头
-
接口的qps
-
接口超时
- 接口层面的超时限制:为了提高资源的利用率。保护其他接口不受影响。
- 网关层面的超时限制:超时后资源被释放,用来处理其他的请求,以此提升 Nginx 的性能。(资源如果不足的话,那么请求可能就无法正常达到后端服务器)
-
某一段时间内,接口最大调用次数
- 有些接口为了限流,会对同一ip发出接口请求做限制,在一段时间内,最大请求不能超过限定的次数。
-