这回来讲讲后台接口的设计。
可能有同学会觉得后台的接口和我们大前端开发有什么关系?试想一下,在碰到一些不合理的接口设计的时候,你们开发是否觉得很别扭——需要为了坑爹的接口写很多脏代码引坑?甚至,这么开发出来的页面,体验也会很差?我们不是说硬无理要求后端接口按照前端业务去封装,而是说为了项目更好地发展,为了用户能有更棒的体验,应该有讨论商量的空间。一些差劲的设计,应该被拒绝。
本文使用前端来指代 Android、iOS 以及 Web。
本文不是教大家撕逼的(赶紧撇清关系)。
全局
全局指所有接口统一的规范。
请求头
应该使用http header来放置通用性的参数,比如:
- APPID(Android/iOS/H5)
- APPVER(版本号)
- APP-BUILD-NUM(内部小版本号)
- TOKEN
- NETWORK(网络环境)
- LANGUAGE(语言)
- 等等
前端使用 POST
键值对方式提交给后端,可以使用 RawJSON
格式。
Content-Type
设为 application/x-www-form-urlencoded
或者 application/json
。
全局响应格式
响应格式应该统一,方便前端做统一的处理,尤其是数据字段,应该统一放在一个map里面。
名字 | 类型 | 详细描述 |
---|---|---|
status_no | INT | 状态码 |
status_msg | STRING | 状态信息 |
data | MAP | 响应内容 |
time | INT | 响应时间戳 |