1、定义:rest(Representational State Transfer):表现层状态转换。
分析:
表现层。其实在这里应该添加一个“主语”,即(资源的)表现层。表现表现,其实也可以理解为表面。指的是资源的外壳,表示这个资源看起来是什么。比如可以是json,可以是html。资源指的就是一个具体的东西。比如说用户名密码。而状态指的就是资源的这个具体东西的在某时刻的一个具体的状态、具体的值,比如说如果某时刻用户名是laowang,那么可以认为用户名此时的状态是laowang。那么转换就其实指的是变换、也就是改变。状态转换其实也就是值改变、改变值。
那么通过上面的分析,在这里表现层状态转换的应该理解应该是通过资源的表现层实现资源的状态发生改变。因为资源的状态是存储在服务器的,所以如果想要改变资源的状态,那么只能通过客户端传递某种“东西”来实现修改服务器的资源的状态。在这里的这个“东西”就是指资源的表现层,比如json或者xml。所以在这里表现层状态转换可以更进一步理解为通过在客户端传递资源的某种表现层来实现存储在服务器的资源的状态发生改变。粗俗一点可以说是通过使用patch方法传递json数据来实现修改存储在服务器的资源的值,更粗俗一点可以说是通过使用patch方法传递名字信息的表现层--{"name": "laoliang"}(json)修改存储在服务器的名字信息(本来是{"name": "laowang"})使其变成{"name": "laoliang"}。
那么完整的描述可以是:通过使用patch方法,传递{"name": "laoliang"}到服务器的某个接口(api),在这个接口中操作数据库的资源,把资源原本的状态信息{"name": "laowang"}修改为传递过来的以json作为表现层的资源的新状态。
这样子的话,假如有很多个客户端都需要操作数据库的这个名字信息的话,都只需要传递要修改的名字的新的以某种表现层作为载体的新的状态信息、值到这个api接口,便可以直接修改了。定义了这样子的api接口可以实现兼容多个不同的客户端。这是目前软件开发的一个潮流。
2、rest架构设计的具体规范: