Proponuję zwrócić tylko to, co jest potrzebne + trochę wyjaśnienia.
Na przykład, w zależności od tego, w jaki sposób ma być używany interfejs API, możesz dołączyć kopię obiektu istniejącą po zapisaniu.
Zatem POST z {klucz: 123} może zwrócić {klucz: 123, foo: 'bar'}.
Podstawową ideą jest to, że lepiej jest zwrócić obiekt, niż trzeba go ponownie zapytać.
To powiedziawszy, twoi klienci API nie potrzebują obiektu, nie ma potrzeby go zwracać.
Zwykle zwracam {sukces: prawda} lub coś takiego, gdy nie jest wymagany żaden obiekt na POST PUT i PATCH, ponieważ ułatwia to odbiorcy koniec. To powiedziawszy, lepiej w 99% przypadków zwrócić zapisaną reprezentację obiektu, rzadko kiedy i tak nie będzie go potrzebować, a „tańsze” jest przesłanie go w jednym żądaniu niż w dwóch.
Mówiąc konkretnie, w laboratorium doskonale sprawdza się obsługa wszystkiego za pomocą tylko kodów statusu, w prawdziwym świecie znacznie lepiej jest zwrócić niektóre dane, nawet jeśli są zbędne, aby użytkownicy interfejsu API mogli łatwo zrozumieć, co próbujesz powiedzieć.
Zwrócenie 200 {sukces: prawda} pozwala ludziom pisać kod na dwa sposoby:
if response.code == 200
do stuff
end
i
if response.body.success
do stuff
end
ponadto nie jest to trudne po twojej stronie.
Na koniec (przepraszam za strukturę odpowiedzi kupy), udostępniając publiczny interfejs JSON, rezygnując z dużej kontroli nad tym, jak zostanie użyty. Niektórzy klienci mogą reagować inaczej na różne podmioty (lub ich brak) lub kody statusu.