http - PUT URL 是否真的需要指定资源

标签 http rest

阅读this page ,它说:

...the URI in a PUT request identifies the entity enclosed with the request -- the user agent knows what URI is intended and the server MUST NOT attempt to apply the request to some other resource.

据此我得出结论,我不应该公开接受 PUT 请求的 URL,其中 URL 不能唯一标识资源。例如:

http://www.example.com/cars

相反,我应该允许以下 URL 上的 PUT 请求:

http://www.example.com/cars/123

但是,在 PUT 请求中,内容应该包含整个实体,因此可以包含某种主键(如上述 URL 中的 123)。那么,当内容包含唯一标识符时,为 PUT 请求公开非唯一 URL 真的被认为是不好的做法吗?在我的服务中,我想做的就是从客户端收集数据,因此接受 PUT 请求的 RESTful 服务很棒,但我真的不希望 URL 是唯一的(因为这意味着在客户端)。

最佳答案

仅当客户端确定请求完成后生成的资源应包含该实体时,才应使用 PUT。

如果您只是从客户端收集数据,那么您可能应该使用 POST。

关于http - PUT URL 是否真的需要指定资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9877333/

相关文章:

PHP:如何动态添加到http_build_query?

http - 302 重定向到相对 URL 有效还是无效?

Android:通过 http 加载多个位图/缩略图的最快方法是什么?

java - Swagger-UI 无法识别 application/hal+json

node.js - 如何在loopback中制定API限速策略

http - 对于输入的旧密码不正确的更改密码请求,正确的 HTTP 响应是什么?

javascript - 如何知道网站是否使用 cookie?

rest - 不使用 OData 语法的 Web API 数据分页

java - 在 Spring Boot 2.2.0 应用程序中点击 REST 端点时出现问题

java - 如何将 curl -X post 翻译成 java