简单理解什么是REST和RESTful


简单理解一

就是用URL定位资源,用HTTP描述操作。

简单理解二

URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。

官方定义

一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

以web开发举例

在设计web接口的时候,REST主要是用于定义接口名,接口名一般是用名次写,不用动词,那怎么表达“获取”或者“删除”或者“更新”这样的操作呢——用请求类型来区分

比如,我们有一个students接口,对于“学生”我们有增删改查四种操作,怎么定义REST接口?

增加一个学生,uri: http://testcode.com/school/students 接口类型:POST

删除一个朋友,uri: http://testcode.com/school/students 接口类型:DELETE

修改一个朋友,uri: http://testcode.com/school/students 接口类型:PUT

查找朋友,uri: http://testcode.com/school/students 接口类型:GET

上面我们定义的四个接口就是符合REST协议的,请注意,这几个接口都没有动词,只有名词students,都是通过Http请求的接口类型来判断是什么业务操作。

举个反例

uri: http://testcode.com/school/addStudents 该接口用来表示增加学生,这就是不符合REST协议的接口。

建议

用HTTP Status Code传递Server的状态信息。比如最常用的 200 表示成功,500 表示Server内部错误,403表示Bad Request等。(反例:传统web开发返回的状态码一律都是200,其实不可取。)

REST风格接口意义

前后端分离。前端拿到数据只负责展示和渲染,不对数据做任何处理。后端处理数据并以JSON格式传输出去,定义这样一套统一的接口,在web,ios,android三端都可以用相同的接口,节约开发成本以及便于同一调试。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM