该GET,PUT和DELETE方法被认为是幂等; 也就是说,一遍又一遍地调用它们将产生相同的结果,而不会产生任何额外的副作用。例如,调用者应该能够在特定资源上调用 DELETE 操作而不会收到任何错误并且不会损害系统。如果资源已经被删除,调用者不应收到错误。这同样适用于 PUT 操作。对于给定的唯一资源(由元素 URI 标识),如果资源已经存在,提交 PUT 请求应该更新资源。或者,如果它不存在,系统应该创建提交的资源。换句话说,一遍又一遍地调用 PUT 会产生相同的结果,而没有任何额外的副作用(即,根据调用者提供的表示,新任务将存在于系统中,无论系统是否必须创建新任务或更新现有任务)一)。
该GET操作也说是安全的。安全意味着系统中没有任何变化,这适用于旨在查询系统资源集合或特定资源的 HTTP 调用。重要的是服务的GET、PUT和DELETE操作的幂等性与 HTTP 协议标准保持一致。因此,应尽一切努力确保这三个动作可以反复调用而不会出错。
不同于其他三个动作,POST是不被认为是幂等。这是因为 POST 用于为该方法的每次调用创建已识别资源类型的新实例。一遍又一遍地调用 PUT 永远不会导致创建或更新多个资源,而调用 POST 将导致新的资源实例——每次调用一个。这适用于系统必须生成新资源标识符并在响应中返回的情况。
来源:ASP.NET Web API 2:从头到尾构建 REST 服务
| 归档时间: |
|
| 查看次数: |
2051 次 |
| 最近记录: |