版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wuyinlei/article/details/77940900
PUT方法
PUT方法是一种写操作的HTTP请求,REST使用HTTP的PUT方法更新或添加资源
1、更新资源
REST知识风格,不是技术规范或者标准,所以有些实现REST的细节明确的定义,这对实践而言,不可避免会产生某些误解,比如在创建和更新某个资源的时候,开发者比较迷茫的是何时该用HTTP的PUT方法,何时使用POST方法,为了解决这一问题,我们首先应该知道PUT方法的特性,PUT方法是幂等的,即多次插入或者更新同一份数据,在服务器端对资源状态所产生的改变是相同的,PUT方法是不安全的,有些动作的HTTP方法都不是安全的。我们知道,由于使用同一份数据向服务器请求更新某一资源,得到的结果应该总是相同的,因此对于更新操作,使用PUT是没有疑问的。
2、添加资源
创建操作通常每次得到的结果是不同的,因为服务器端的业务层逻辑通常要求数据的主键字段要么来自于业务平台自增一个逻辑值,要么来自于数据库中的主键自增,因此,相同的数据每一次提交到服务器端,都会为数据添加一个新的主键值,也就是创建一个主键值不同的新资源(如果没有业务或者外键冲突)。所以,创建操作通常应当设计为POST方法的API,唯有一种场景应当使用PUT方法来设计API,即客户端在发起创建请求时候,在同一份数据中总可以提供唯一的主键值,服务器不会对其进行修改,这样的创建请求确保了幂等性,不应该在使用PUT请求
资源地址设计
资源地址的设计对整个REST式的Web服务至关重要,设计系统的可用性和可扩展性等诸多方面的表现
1、资源路径概览
资源地址的路径变量使用来表达逻辑上的层次结构的,资源和子资源的高兴事是自左向右、斜杠分隔的名词。他们的关系可以是从整体到局部,比如学校到班级,城市到乡村.可以是从一