如果我只想编辑/更新一篇文章,PUT REST 请求的正确 URI 是什么?
是吗:
// PUT api/articles
或:
// PUT api/articles/id
更新
我不知道我是否可以从具有所有其他属性(标题等)的正文发送文章 ID 并从 URI 发出 id,或者我也应该将其添加到 URI 中。但我想我已经得到了答案。我猜会在正文和 URI 中拥有 id。
如果您遵循 REST 原则,那么正确答案是"无论您从创建资源的 POST 请求中返回的位置标头中返回的任何内容"。基本思想是,服务器在创建资源时分配 URI 路径作为资源标识符。当您想要引用同一资源时,您将在后续请求(包括 GET、PUT 和 DELETE)中使用该路径。
如果要更新的资源是通过对/api/articles 执行 GET 来检索的,则也可以对 PUT 请求使用/api/articles。如果你得到/api/articles/id,那么使用 PUT/api/articles/id 来更改它。
根据你所说的,我猜你想更新或创建一个新文章,而不是替换所有文章。
PUT
用于替换目标资源。这意味着:
PUT api/articles
创建或替换所有文章,以及:
PUT api/articles/id
创建或替换项目"id"。