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

转自:http://blog.csdn.net/cloudcraft/article/details/10087033

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

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

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


GET

[ruby] view plaincopy
  1.  - 获取表示  
  2.   
  3. - 变更时获取表示(缓存)  
  4.   
  5. 200(OK) - 表示已在响应中发出  
  6.   
  7. 204(无内容) - 资源有空表示  
  8.   
  9. 301(Moved Permanently) - 资源的URI已被更新  
  10.   
  11. 303(See Other) - 其他(如,负载均衡)  
  12.   
  13. 304(not modified)- 资源未更改(缓存)  
  14.   
  15. 400 (bad request)- 指代坏请求(如,参数错误)  
  16.   
  17. 404 (not found)- 资源不存在  
  18.   
  19. 406 (not acceptable)- 服务端不支持所需表示  
  20.   
  21. 500 (internal server error)- 通用错误响应  
  22.   
  23. 503 (Service Unavailable)- 服务端当前无法处理请求  

DELETE

[ruby] view plaincopy
  1. - 删除资源  
  2. 200 (OK)- 资源已被删除  
  3.   
  4. 301 (Moved Permanently)- 资源的URI已更改  
  5. 303 (See Other)- 其他,如负载均衡  
  6.   
  7. 400 (bad request)- 指代坏请求t  
  8. 404 (not found)- 资源不存在  
  9. 409 (conflict)- 通用冲突  
  10.   
  11. 500 (internal server error)- 通用错误响应  
  12. 503 (Service Unavailable)- 服务端当前无法处理请求  

PUT

[ruby] view plaincopy
  1. - 用客户端管理的实例号创建一个资源  
  2.   
  3. - 通过替换的方式更新资源  
  4.   
  5. - 如果未被修改,则更新资源(乐观锁)  
  6.   
  7. 200 (OK)- 如果已存在资源被更改  
  8. 201 (created)- 如果新资源被创建  
  9.   
  10. 301(Moved Permanently)- 资源的URI已更改  
  11.   
  12. 303 (See Other)- 其他(如,负载均衡)  
  13.   
  14. 400 (bad request)- 指代坏请求  
  15.   
  16. 404 (not found)- 资源不存在  
  17.   
  18. 406 (not acceptable)- 服务端不支持所需表示/p>  
  19.   
  20. 409 (conflict)- 通用冲突  
  21.   
  22. 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)  
  23.   
  24. 415 (unsupported media type)- 接受到的表示不受支持  
  25.   
  26. 500 (internal server error)- 通用错误响应  
  27.   
  28. 503 (Service Unavailable)- 服务当前无法处理请求  

POST

[ruby] view plaincopy
  1. - 使用服务端管理的(自动产生)的实例号创建资源  
  2.   
  3. - 创建子资源  
  4.   
  5. - 部分更新资源  
  6.   
  7. - 如果没有被修改,则不过更新资源(乐观锁)  
  8.   
  9. 200(OK)- 如果现有资源已被更改  
  10. 201(created)- 如果新资源被创建  
  11. 202(accepted)- 已接受处理请求但尚未完成(异步处理)  
  12.   
  13. 301(Moved Permanently)- 资源的URI被更新  
  14. 303(See Other)- 其他(如,负载均衡)  
  15.   
  16. 400(bad request)- 指代坏请求  
  17. 404 (not found)- 资源不存在  
  18. 406 (not acceptable)- 服务端不支持所需表示  
  19. 409 (conflict)- 通用冲突  
  20. 412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)  
  21. 415 (unsupported media type)- 接受到的表示不受支持  
  22.   
  23. 500 (internal server error)- 通用错误响应  
  24. 503 (Service Unavailable)- 服务当前无法处理请求  
原文地址:https://www.cnblogs.com/shiweihappy/p/4246399.html