JAVA-接口入参保护

《阿里巴巴java开发手册》

第七章控制语句中,第6点提到了入参保护,原文如下:

6. 【推荐】接口入参保护,这种场景最常见的是用于做批量操作的接口。

 

工作中很少提到“入参保护”这个词,更多的是“参数校验”的说法;谈下个人对接口入参保护的理解:

 

1、接口入参保护,“保护”的是服务端应用,即接口提供方,最常见的做法就是校验入参的有效值范围和设置批量操作白名单;

  比如,接口入参中包含日期时,校验日期必须在N天范围内,或者请求返回的记录总数必须在X条以内(比如10W条,否则缩小请求查询的记录范围),或者请求返回的记录必须分页查询返回;

  开发手册中,尤其提到的场景就是批量操作,因为批量操作非常耗时耗资源(服务端),批量操作的批量数应该有上限,而不是无限的。假如客户端请求一次批量操作10W笔转账订单,服务器应该果断拒绝,很不是很SB的忠实执行,会对服务端造成严重影响的批量请求,服务器端应做好保护性编程,必要时应直接失败,并在Result中返回明确的errorCode和errorMsg;

  而且,对应批量操作,实际应用中还会配置批量操作白名单!

2、入参保护,一般都是通过卫语句实现:if(请求记录>10000条) return;直接返回。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值