去设计接口,我们如何考虑呢?很多程序员是拿到一个项目,看别人怎么写,自己就怎么写,入乡随土嘛;那如何去设计一个优雅的接口,需要考虑哪些,下面我做了下总结。
接口设计原则:
1、必须符合Restful,统一返回格式,约定业务层错误编码,每个编码可以携带可选的错误信息。
2、命名必须规范优雅,圈内都是按照阿里开发规范来的。
3、单一职责,接口功能明确单一,不是为了省事,各种融于;比如登录接口,就是登录校验。很多程序员为了省事,把用户信息都一并还回,这是不可取的。
4、可扩展性。似乎感觉跟单一职责相反,其实不然,可扩展性尽量把主动权交给调用方,这是一方面,另外一方面就是参数,能定义对象用对象,封装起来。
5、文档健全,接口要维护接口文档,方便调用方使用。也是存档,利于沟通交流
上面是最基本。下面看看其他的考虑:
1、综合考虑业务,接口是否需要加索,防止并发重复
2、是否要考虑接口结果做缓存,本地缓存,三方等
3、接口还要考虑里面的内容,哪些处理是主业务,哪些可以放到异步里,mq啊线程等一些方式,提高接口的响应速度。
4、要考虑接口能承担的qps,对线上情况,做一定的预期。
5、对接口要做一定的限流降级机制(这个是架构要从整体考虑的)
6、要对接口有监控机制(整体架构要考虑)