2017-09-25 371 views
1

假設我有一個端點/api/todos,並且我發出PATCH請求來更改其中一個待辦事項。我的PATCH請求在響應主體中包含所有待辦事項列表是否有意義?對PATCH請求的響應

有什麼規範可以閱讀嗎?

我已經和一些開發者交談過,普遍的共識是PATCH方法應該只返回已更改的條目。我同意這一點,但我正在尋找詳細說明這一點的文件。

+1

https://www.greenbytes.de/tech/webdav/rfc7240.html#return可能是有趣的。 –

+0

@JulianReschke那正是我正在尋找的東西。謝謝! –

回答

2

RFC是here

但它並沒有真正指定任何東西。這裏有一個例子:

Successful PATCH response to existing text file: 

    HTTP/1.1 204 No Content 
    Content-Location: /file.txt 
    ETag: "e0023aa4f" 

    The 204 response code is used because the response does not carry a 
    message body (which a response with the 200 code would have). Note 
    that other success codes could be used as well. 

所以你可以實現它,但是你希望。只需更改條目就可以更好地處理其他方法(PUT,DELETE等)的處理方式,所以我會這樣做。

0

所以,當你想提供一個RESTfull api /api/todos表示一個資源,其中每個待辦事項都有一個單獨的ID。在這裏你可以修補到'/ api/todos/4'來更新id爲4的待辦事項。 這裏通常的行爲是用204狀態碼或更新的對象來響應以保存另一個請求以獲得更新的待辦事項。

如果您的待辦事項不是帶有ID的單獨對象,它們可能是一個項目列表,應該一次全部退回。