阅读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/