When creating a REST API, if I return data in JSON format for GET requests, is it a good practice to also send responses for POST, PUT, DELETE, and error messages in JSON too or plain text will suffice?
For example:
For POST request where I need to return the new ID of the newly added record (i.e. just the new auto increment value in database), should the response still be in JSON or just plain text like “1” or “2” for example.
Same goes for PUT or DELETE request where I need to say “OK” or “Accepted”, as well error messages like “Bad Request”, “Not Found”, etc.
Plain text or JSON?
Use the client-provided
Acceptheader to let the client control what content type they want. If no header is provided, then use a sensible default and always include aContent-Typeheader in the response. See the Content Negotiation section of RFC2616 for more details.