Wil*_*ler 18 rest web-services
我正在创建一个RESTful Web服务,允许我按名称导入文档.我会使用这样的路径导入文档:
/documents/frequently-asked-questions
Run Code Online (Sandbox Code Playgroud)
如果该文件尚不存在,则会创建一个新文件; 否则,它只会覆盖现有文档.
我的问题是这是否是RESTful服务的错误端点.通常我会使用POSTs来创建和PUTs进行更新.这里不知道文件是否已经存在.如果这是合理的,那么什么是最好的HTTP方法?如果它不正确,那么什么是更好的方法?
小智 25
对于POST,HTTP 1.1规范说:
9.5 POST
POST方法用于请求源服务器接受请求中包含的实体作为Request-URI中Request-URI标识的资源的新下级.
对于PUT:
9.6 PUT
PUT方法请求将所包含的实体存储在提供的Request-URI下.
考虑到这一点,以及PUT是幂等的而POST不是这样的事实,PUT似乎是创建和更新的合理选择.
资料来源:http: //www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1.2
这是我使用POSTvs的盐测试PUT:
总体思路是POST用于创建,PUT用于更新。但在创建或更新场景中,它们都适用。这里的关键是您已经知道资源的 ID。
所以...
如果URL包含文档的标识符,则使用PUT,否则使用POST。
在您的情况下,标识符是已知的,并且在 URL 中,因此使用PUT。
| 归档时间: |
|
| 查看次数: |
7010 次 |
| 最近记录: |