这份工作之前也自认为写个几个restful的API了,这篇文章简单说说我认为的rest。。
很多人都知道restful是一种风格,我更喜欢说是一种对接口的规范。
举个例子我之前写API的时候(对前端),api.test.com/v1/getUserInfo,经常是这么写的,怎么说呢,其实也没什么,前端正常post,get都是可以正常获取到用户信息的,api.test.com/v1/updateUserInfo,一样访问这个url传入相关参数也是可以修改用户信息的,这么做无可厚非,而且之前我的大部分接口都是这么设计的。但想想这么做就没有什么可以改进的地方,比如臃肿的url设计,每个对userinfo的操作都是一个url,restful提出了一个理念,url仅仅用来定位资源,比如api.test.com/v1/userinfos 这个就表示我要对userinfo用户信息进行相关操作了,接下来至于是getUserInfo还是updateUserInfo,就是更深层次利用http的各种方法的时候了,至于http的多少种方法,详细自己可以去了解下,get,post,put,delete,分别对应了我们操作的查,增,改,删操作。。
基本上就是这样的,所以这里面也有了一些规范。
比如就不出现api.test.com/v1/userinfos,最后一个一般是名次的复数不出现get之类的操作了,全部以http操作为准。
用 HTTP Status Code传递Server的状态信息。比如最常用的 200 表示成功,500 表示Server内部错误等。
至于设计API时安全验证当然还是有必要的
总的来说rest这种统一的规范,对于前端,安卓,IOS都可以利用这么一套规则进行开发,还是比较便宜,提高效率的。