Search code examples
resthttpdjango-rest-frameworkapi-design

Response to a PATCH request


Suppose I have an endpoint /api/todos and I make a PATCH request to change one of the todos. Does it ever make sense for my PATCH request to have in the response body the list of all of the todos?

Is there any specification that I can read about this?

I have talked to some developers and the general consensus is that the PATCH method should only return the changed entry. I agree with this point but am looking for documentation detailing this.


Solution

  • The RFC is here.

    But it doesn't really specify anything. Here's an example from it:

       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.
    

    So you can implement it however you wish. Responding with just the changed entry would be more inline with how other methods (PUT, DELETE, etc.) are usually handled, so I would do it that way.