Jaki kod stanu powinienem ustawić dla UPDATE
( PUT
) i DELETE
(np. Produkt pomyślnie zaktualizowany)?
źródło
Jaki kod stanu powinienem ustawić dla UPDATE
( PUT
) i DELETE
(np. Produkt pomyślnie zaktualizowany)?
W przypadku żądania PUT : HTTP 200 lub HTTP 204 powinny oznaczać „pomyślne zaktualizowanie zasobu”.
W przypadku żądania DELETE : HTTP 200 lub HTTP 204 powinno oznaczać „zasób usunięty pomyślnie”. Można również zwrócić HTTP 202, co oznaczałoby, że instrukcja została zaakceptowana przez serwer i „zasób został oznaczony do usunięcia”.
Jeśli istniejący zasób zostanie zmodyfikowany, KODY odpowiedzi 200 (OK) lub 204 (Brak treści)> POWINNY zostać wysłane, aby wskazać pomyślne zakończenie żądania.
Pomyślna odpowiedź POWINNA wynosić 200 (OK), jeśli odpowiedź zawiera byt opisujący status, 202 (Zaakceptowana), jeśli akcja nie została jeszcze wykonana, lub 204 (Brak treści), jeśli akcja została podjęta, ale odpowiedź nie obejmuje jednostka.
Źródło: W3.org: Definicje metod HTTP / 1.1
HTTP 200 OK: Standardowa odpowiedź na udane żądania HTTP. Rzeczywista odpowiedź będzie zależeć od użytej metody żądania.
HTTP 204 Brak treści: Serwer pomyślnie przetworzył żądanie, ale nie zwraca żadnej treści
Krótka odpowiedź: zarówno dla PUT, jak i DELETE, powinieneś wysłać albo 200 (OK), albo 204 (Brak treści).
Długa odpowiedź: oto kompletny schemat decyzyjny (kliknij, aby powiększyć).
Źródło: https://github.com/for-GET/http-decision-diagram
źródło
Oto kilka porad:
USUNĄĆ
POŁOŻYĆ
źródło
RFC 2616 opisuje, których kodów stanu należy użyć .
I nie, nie zawsze jest to 200.
źródło
Oprócz 200 i 204, 205 (Resetuj zawartość) może być prawidłową odpowiedzią.
źródło
Ponieważ pytanie zagłębia się w pytanie, czy DELETE „powinien” zwrócić 200 w porównaniu z 204 , warto wziąć pod uwagę, że niektórzy ludzie zalecają zwrócenie encji z linkami, więc preferowana jest wartość 200 .
http://blog.ploeh.dk/2013/04/30/rest-lesson-learned-avoid-204-respactions/
Osobiście nie powiedziałbym, że 204 jest zły (podobnie jak autor; mówi „denerwujący”), ponieważ dobre buforowanie po stronie klienta ma wiele zalet. Najlepiej jest zachować spójność w obu kierunkach.
źródło
Oto kod statusu, który powinieneś znać ze względu na swoją wiedzę.
1XX Odpowiedzi na informacje
2XX Sukces
Przekierowanie 3XX
4XX Błędy klienta
5XX Błędy serwera
źródło
W czerwcu 2014 r. RFC7231 przestarzałe RFC2616. Jeśli wykonujesz REST przez HTTP, to RFC7231 dokładnie opisuje, czego się oczekuje od GET, PUT, POST i DELETE
źródło
Po zmodyfikowaniu zasobu kod odpowiedzi powinien wynosić 200 („OK”) . Jeśli stan zasobu zmienia się w sposób, który zmienia identyfikator URI na zasób (na przykład nazwa użytkownika zmienia nazwę), kod odpowiedzi to 301 („Przeniesiono na stałe”), a nagłówek lokalizacji powinien podać nowy identyfikator URI.
Po usunięciu obiektu kod odpowiedzi powinien wynosić 200 („OK”).
Kliknij poniższy link, aby uzyskać więcej informacji - kod stanu na odpoczynek
źródło