Je suggérerais de ne rendre que ce qui est nécessaire + un petit éclaircissement.
Par exemple, selon l'utilisation de votre API, vous pouvez inclure une copie de l'objet, telle qu'elle existe après avoir été enregistrée.
Ainsi, un POST de {clé: 123} peut renvoyer {clé: 123, foo: 'bar'}.
L'idée de base est qu'il est préférable de retourner l'objet plutôt que de devoir le rechercher à nouveau.
Cela dit, de votre API, les utilisateurs n'ont pas besoin de l'objet, il n'est pas nécessaire de le retourner.
Je retourne généralement {success: true} ou quelque chose du genre, quand aucun objet n'est requis sur POST PUT et PATCH car cela facilite la tâche du destinataire. Cela dit, il vaut mieux 99% du temps pour renvoyer la représentation enregistrée de l'objet, il est rare qu'ils n'en aient pas besoin de toute façon, et il est "moins cher" d'envoyer tout cela en une demande puis en deux.
Pour être précis, dans un laboratoire, il est parfaitement indiqué de gérer tout avec des codes d’état. Dans le monde réel, il est bien mieux de renvoyer certaines données, même redondantes, afin que les utilisateurs d’API puissent facilement comprendre ce que vous essayez de dire.
Le renvoi de 200 {succès: true} permet aux utilisateurs d'écrire du code dans les deux sens:
if response.code == 200
do stuff
end
et
if response.body.success
do stuff
end
en plus, ce n'est pas si difficile à faire de votre côté.
Enfin, (pardon pour la structure de réponse des erreurs), en fournissant une API JSON publique, vous donnez beaucoup de contrôle sur la manière dont elle sera utilisée. Certains clients peuvent réagir différemment selon les organismes (ou leur absence) ou les codes de statut.