我有一个代表标签集合的资源:
/users/{username}/tags
API客户端应该能够在单个HTTP请求中向此集合添加一组标记。我想过如何做到这一点,并首先考虑使用PUT或POST方法。但是我认为这意味着客户端正在“设置”或“替换”该集合中的标签。将“多个标签”添加到该集合的最合适的HTTP方法(或者可能是不同的机制)是什么?
{HTTP METHOD} /users/{username}/tags
请求正文:
["short", "crazy", "funny"]
答案 0 :(得分:8)
如果请求正文中发送的标记要添加到集合中,而不是替换,我建议POST。如果您打算替换现有标签,请使用PUT。
答案 1 :(得分:7)
PUT /users/alganet/tags
替换所有标签。
POST /users/alganet/tags
会添加更多代码。
您也可以使用PATCH。
PATCH /users/alganet/tags
更改了代码。
可能的身体:
{"POST":["rest", "php"], "DELETE":["soap"]}
正文必须具有与Accept-Patch
标题匹配的特定补丁格式。上面的示例正文是补丁的自定义格式,但您可以使用干净的diff
作为示例。