2012-06-01 62 views
2

我有代表的標籤集合的資源加入到集合:HTTP方法使用在一個RESTful API

/users/{username}/tags 

的API客戶端應該能夠一組標籤添加到該集合一個HTTP請求。我想過如何做到這一點,並首先考慮使用PUT或POST方法。不過,我認爲這意味着客戶正在「設置」或「替換」該集合中的標籤。什麼是將多個標籤「添加」到該集合的最合適的HTTP方法(或者可能是一種不同的機制)?

{HTTP METHOD} /users/{username}/tags 

請求正文:

["short", "crazy", "funny"] 

回答

6

如果標籤請求主體發送意圖被添加到集合,而不是取代,我會建議POST。如果您打算替換現有的標籤,請使用PUT。

5

PUT /users/alganet/tags取代所有的標籤。

POST /users/alganet/tags添加更多標籤。您可以使用PATCH

PATCH /users/alganet/tags更改標籤。

可能的體:

{"POST":["rest", "php"], "DELETE":["soap"]}

主體必須具有特定的補丁格式Accept-Patch頭匹配。上面的示例主體是補丁的自定義格式,但您可以使用乾淨的diff爲例。