Note/开发完接口之后自查.md

43 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 开发完接口之后:
**入参校验**:长度校验、判空、逻辑校验
**分页处理**:是否实现分页功能
**逻辑删除**:避免物理删除,使用逻辑删除
**查询加缓存**:提高查询效率,减少数据库压力
**逻辑漏洞**:检查逻辑是否存在漏洞
**重点接口加验签**:防止流量劫持和数据篡改
**异常情况提示语**:清晰明确的异常提示信息
**外部接口错误处理**:是否需要重试还是直接返回错误,对方是否有幂等性
**接口访问量**:评估接口的访问量
**中间件压力**:考虑中间件的负载能力
**时间复杂度**优化时间复杂度例如map的查找操作为O(1)
**代码细化**每个操作步骤细化明确思考每个方法是否可以控制在10行以内抽取通用代码便于维护
**Redis数据结构选择**合理选择Redis数据结构
**设计模式**:是否考虑设计模式
**外部接口调用日志**:记录入参、返回值,尤其是不满足预期和报错的时候
**国际通用返回值**`code`, `msg`, `data`, `extMap`, `requestId`
**@Value默认值**`@Value = "$(aaa:defaultValue)"`,带一个默认值,增强健壮性
**参数配置文件化**:所有参数放入配置文件,便于将来动态刷新
**临界值测试**:调用方获取的永远是`baseResponse`不能把Java异常返回出去业务代码明确见名知意
**日志记录**:多打日志,入口、出口,尤其是调用第三方接口时,记录入参、出参
**全局意识**:在项目开发中,即使自己只是整个流程的一部分,也要有全局意识,替对方着想,这样开发起来更加顺畅