本章内容
- 编写处理REST资源的控制器
- 以XML、JSON及其他格式来表述资源
- 编写REST客户端
- 提交RESTful表单
1. 了解REST
1.1 REST 的基本原理
REST是面向资源的,强调描述应用程序的事物和名词。
为了理解REST是什么, 我们将它的首字母缩写拆分为不同的构成部分:
- 表述性(Representational) : REST资源实际上可以用各种形式来进行表述, 包括XML、 JSON(JavaScript Object Notation) 甚至
HTML——最适合资源使用者的任意形式; - 状态(State) : 当使用REST的时候, 我们更关注资源的状态而不是对资源采取的行为;
- 转移(Transfer) : REST涉及到转移资源数据, 它以某种表述性形式从一个应用转移到另一个应用。
更简洁地讲, REST就是将资源的状态以最适合客户端或服务端的形式从服务器端转移到客户端(或者反过来) 。
在REST中, 资源通过URL进行识别和定位。 至于RESTful URL的结构并没有严格的规则, 但是URL应该能够识别资源, 而不是简单的发一条命
令到服务器上。 再次强调, 关注的核心是事物, 而不是行为。
REST中会有行为, 它们是通过HTTP方法来定义的。 具体来讲, 也就是GET、 POST、 PUT、 DELETE、 PATCH以及其他的HTTP方法构成了
REST中的动作。 这些HTTP方法通常会匹配为如下的CRUD动作:
- Create: POST
- Read: GET
- Update: PUT或PATCH
- Delete: DELETE