REST四种请求(get,delete,put,post) 收集整理 之一

来源:互联网 发布:基本降序算法 编辑:程序博客网 时间:2024/05/22 02:01

        资源是REST中最关键的抽象概念,它们是能够被远程访问的应用程序对象。一个资源就是一个标识单位,任何可以被访问或被远程操纵的东西都可能是一个资源。资源可以是静态的,也就是该资源的状态永远不会改变。相反,某些资源的状态可能随着时间推移呈现很大的可变性。这两种类型的资源都是有效的

        为了简化整体系统架构,REST架构风格包含了统一接口的概念。统一接口包含一组受限的良定义的操作,由它们进行资源的访问和操作。不论什么资源,都使用相同的接口。客户端与Hotel,Room或CreditScore等资源交互时使用的接口是一样的。统一接口独立于资源的URI,并且也不需要类似IDL的文件去描述可用的操作。

RESTful HTTP的接口非常流行且广为使用。它包含标准的HTTP方法如GET,PUT和POST(浏览器使用它发出请求并提取页面)。不幸的是,很多开发者认为实现RESTful应用就是用一种直接使用HTTP的方式,这种理解是错误的。举个例子,HTTP方法的实现必须要遵循HTTP规范的,而通过GET方法创建或修改对象是不遵守HTTP规范的。


GET

 - 获取表示- 变更时获取表示(缓存)200(OK) - 表示已在响应中发出204(无内容) - 资源有空表示301(Moved Permanently) - 资源的URI已被更新303(See Other) - 其他(如,负载均衡)304(not modified)- 资源未更改(缓存)400 (bad request)- 指代坏请求(如,参数错误)404 (not found)- 资源不存在406 (not acceptable)- 服务端不支持所需表示500 (internal server error)- 通用错误响应503 (Service Unavailable)- 服务端当前无法处理请求

DELETE

- 删除资源200 (OK)- 资源已被删除301 (Moved Permanently)- 资源的URI已更改303 (See Other)- 其他,如负载均衡400 (bad request)- 指代坏请求t404 (not found)- 资源不存在409 (conflict)- 通用冲突500 (internal server error)- 通用错误响应503 (Service Unavailable)- 服务端当前无法处理请求

PUT

- 用客户端管理的实例号创建一个资源- 通过替换的方式更新资源- 如果未被修改,则更新资源(乐观锁)200 (OK)- 如果已存在资源被更改201 (created)- 如果新资源被创建301(Moved Permanently)- 资源的URI已更改303 (See Other)- 其他(如,负载均衡)400 (bad request)- 指代坏请求404 (not found)- 资源不存在406 (not acceptable)- 服务端不支持所需表示/p>409 (conflict)- 通用冲突412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)415 (unsupported media type)- 接受到的表示不受支持500 (internal server error)- 通用错误响应503 (Service Unavailable)- 服务当前无法处理请求

POST

- 使用服务端管理的(自动产生)的实例号创建资源- 创建子资源- 部分更新资源- 如果没有被修改,则不过更新资源(乐观锁)200(OK)- 如果现有资源已被更改201(created)- 如果新资源被创建202(accepted)- 已接受处理请求但尚未完成(异步处理)301(Moved Permanently)- 资源的URI被更新303(See Other)- 其他(如,负载均衡)400(bad request)- 指代坏请求404 (not found)- 资源不存在406 (not acceptable)- 服务端不支持所需表示409 (conflict)- 通用冲突412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)415 (unsupported media type)- 接受到的表示不受支持500 (internal server error)- 通用错误响应503 (Service Unavailable)- 服务当前无法处理请求