最近几个月,与三位后台开发人员有过接口对接,每一次风格都不同,网上找到的也大多是关于RESTFUL风格的讨论,自己以及其他同事对RESTFUL的理解都不够到位,所以大多数工作中碰到的情况都不是RESTFUL风格,一般都是通过JSON自定义的格式。
场景:主要是微信端网页开发,前端往往是先打开页面然后通过Ajax向后台发送请求返回JSON格式的数据。
原则一:一个页面尽量只有一个拉取接口
主要考虑的是尽量减少请求链接数,请求链接数越多,由于网络原因,出现异常的可能性越大。
原则二:打破规则一,当请求需要缓存并且有需要及时更新的情况
为了更好的打开速度,对于不经常变化的数据,往往需要做数据缓存以及请求缓存。但有些信息,比如预约时间,又需要做到及时,则应该分多个请求。
原则三:如果返回数据中某个字段的数据没有,返回该字段比不返回该字段要好。
JSON格式的好处在于灵活性,但没有校验机制。所以定义协议时规定了有哪些字段,最好这些字段都返回。我的意思是比如返回一个列表,大多数场景是返回一个数组,但如果没有数据,返回一个空数组比不返回该字段要好。当然前端也有必要做自己的容错考虑。
其他:
1.比较常见的返回数据的格式,经验有限,也不清楚这是不是最优的。
{
status: "",
message: "",
data: {
}
}
2.这里有一篇关于HTTP API设计指南,感觉挺好的,但自己实际应用的不多。