Suggerirei di restituire solo ciò che è necessario + un piccolo chiarimento.
Ad esempio, a seconda di come deve essere utilizzata l'API, è possibile includere una copia dell'oggetto, come esistente dopo il salvataggio.
Quindi un POST di {chiave: 123} potrebbe restituire {chiave: 123, foo: 'bar'}.
L'idea di base è che è meglio restituire l'oggetto e quindi doverlo interrogare nuovamente.
Detto questo, i tuoi utenti API non hanno bisogno dell'oggetto, non è necessario restituirlo.
Di solito ritorna {success: true} o qualcosa del genere, quando non ci sono oggetti richiesti su POST PUT e PATCH perché rende più facile per il destinatario. Detto questo, è meglio il 99% delle volte restituire la rappresentazione salvata dell'oggetto, è raro che non ne abbiano comunque bisogno, ed è "meno costoso" inviarlo tutto in una richiesta, poi in due.
Per essere precisi, in un laboratorio è perfettamente in grado di gestire tutto con i soli codici di stato, nel mondo reale è molto meglio restituire alcuni dati, anche se ridondanti, in modo che i consumatori di API possano facilmente capire cosa stai provando a dire.
Restituzione di 200 {success: true} consente alle persone di scrivere codice in entrambi i modi:
if response.code == 200
do stuff
end
e
if response.body.success
do stuff
end
Inoltre non è così difficile da parte tua.
Infine, (mi dispiace per la struttura delle risposte dei pozzi), fornendo a un pubblico JSON API si rinuncia a un sacco di controllo su come verrà utilizzato. Alcuni client potrebbero reagire in modo diverso a diversi enti (o mancano di) o codici di stato.