分享人:韩亚博
1.背景介绍
2.知识剖析
3.常见问题
4.编码实战
5.扩展思考
6.参考文献
7.更多讨论
什么是REST?
REST 表述性状态传递(英文:Representational State Transfer,简称REST)
是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。
它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful
RESTful要点
1.在REST中的一切都被认为是一种资源。
2.每个资源由URI标识。
3.使用统一的接口。处理资源使用POST,GET,PUT,DELETE操作类似创建,读取,更新和删除(CRUD)操作。
4.无状态。每个请求是一个独立的请求。从客户端到服务器的每个请求都必须包含所有必要的信息,以便于理解。
REST的核心在于,当你设计一个系统的时候,资源是第一位的考虑,你首先从资源的角度进行系统的拆分、设计,而不是像以往一样以操作为角度来进行设计
REST请求方法
1.POST, GET, PUT, DELETE
POST:新建资源,不安全。每次请求都会创建资源,多次发出POST请求,会创建多个资源。
GET:获取资源,安全性。不管进行多少次操作,资源的状态都不会改变,GET只是访问和查看资源
PUT:更新资源,用来修改数据内容,但是不会增加数据种类,也就是说无论进行多少次PUT操作,资源不会增加
DELETE:删除资源
通信过程的安全性
GET请求将数据附在url上
POST请求将数据放在http的包体中
URI不够RESTful
使用错误的请求方法
form表单的请求方法,如何使用delete、put
REST缺点或者不适用的场景
存疑:rest更贴近于以资源来定义应用的架构。更加轻便和高效是rest的特点,而soap在面对更多的业务逻辑复杂的接口设计中更加有优势。如果一味的追逐rest风格,只会本末倒置、适得其反。
https://baike.baidu.com/item/rest/6330506?fr=aladdin
https://blog.csdn.net/beagreatprogrammer/article/details/52535128
https://www.zhihu.com/question/33959971
https://blog.csdn.net/ruangong1203/article/details/51050586
欢迎大家讨论