这回来讲讲后台接口的设计。
可能有同学会觉得后台的接口和我们大前端开发有什么关系?试想一下,在碰到一些不合理的接口设计的时候,你们开发是否觉得很别扭——需要为了坑爹的接口写很多脏代码引坑?甚至,这么开发出来的页面,体验也会很差?我们不是说硬无理要求后端接口按照前端业务去封装,而是说为了项目更好地发展,为了用户能有更棒的体验,应该有讨论商量的空间。一些差劲的设计,应该被拒绝。
本文使用前端来指代 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_noINT状态码status_msgSTRING状态信息dataMAP响应内容timeINT响应时间戳
状态码
全局应该定义统一的状态码(status_code),而不应该每个接口单独去定义。
具体规则可以自行定义