网站注册 优帮云,招商网站建设哪家好,做cpa一定要有网站,室内装修设计软件apphttp(s)在设计时应考虑#xff1a;
一、签名认证
鉴权#xff0c;如jwt方式等。
二、重要参数加密
如#xff1a;用户的登录密码、银行卡号、转账金额、用户身份证等。
三、IP白名单
为了进一步加强API接口的安全性#xff0c;防止接口的签名或者加密被破解了#x…http(s)在设计时应考虑
一、签名认证
鉴权如jwt方式等。
二、重要参数加密
如用户的登录密码、银行卡号、转账金额、用户身份证等。
三、IP白名单
为了进一步加强API接口的安全性防止接口的签名或者加密被破解了攻击者可以在自己的服务器上请求该接口。
四、接口限流
如果API接口被第三方平台调用了这就意味着着调用频率是没法控制的。由此需要对重要API接口做限流。
五、参数校验与限制记录条数
如校验必填字段是否为空校验字段类型校验字段长度校验枚举值等等。这样做可以拦截一些无效的请求。
在Java中校验数据使用最多的是hiberate的Validator框架它里面包含了Null、NotEmpty、Size、Max、Min等注解。用它们校验数据非常方便。
另外提供的批量接口一定要限制请求的记录条数如果请求的数据太多很容易造成API接口超时等问题让API接口变得不稳定。
六、统一返回值与统一封装异常
API网关捕获业务异常然后转换成统一的异常结构返回这样能统一返回值结构。
七、请求日志
最好有traceId可以通过它串联整个请求的日志过滤多余的日志。
八、幂等设计
支持在极短的时间内第三方平台用相同的参数请求API接口多次可能是bug或者接口重试第一次请求数据库会新增数据但第二次请求以后就不会新增数据但也会返回成功。
高并发下可以通过乐观锁、加唯一索引等方法保证接口的幂等性。
高并发下如何保证接口的幂等性
九、异步处理
一般的API接口的逻辑都是同步处理的请求完之后立刻返回结果。对于非常复杂耗时的逻辑则需要异步处理。
在API接口中可以发送一条mq消息然后直接返回成功。之后有个专门的mq消费者去异步消费该消息做业务逻辑处理如何通知调用方
方法一回调第三方平台的接口告知API接口的处理结果很多支付接口就是这么玩的。
方法二第三方平台通过轮询调用我们另外一个查询状态的API接口每隔一段时间查询一次状态传入的参数是之前的那个API接口中的id集合。
十、数据脱敏
我们可以在返回的数据中部分内容用星号代替。如123****888。
十一、压测
上线前我们对API接口做一下压力测试知道各个接口的qps情况。