Nie cichu ignorować żądania
Nie jestem pewien, jak mogłeś tak, oprócz serwera zamknięcie połączenia bez wysłania odpowiedzi.
400 jest dobry, podobnie jak 409. Możesz także rozważyć 403 Zabronione: serwer zrozumiał twoją prośbę, ale odmawia jej spełnienia.
400 jest zwykle dla nieprawidłowo sformułowanych żądań.
403 sprawdza się, gdy żądanie było wystarczająco dobrze sformułowane, aby kod serwera mógł go przeanalizować i zrozumieć, do czego służy żądanie. Myślę, że najbardziej odpowiada ci tutaj twoje wymagania.
Jednak linia w swoim pytaniu mnie martwi:
próby, aby określić nową wartość dla kolumny, która nie istnieje w bazie danych
Wnioski nie powinny być zmodyfikowanie wartości kolumn w bazie danych. Powinny one modyfikować zawartość zasobu. Te dwie nie są takie same. Łatwo wpaść w pułapkę myślenia "och, po prostu ujawnijmy ten obiekt domeny jako źródło HTTP", ale może to spowodować problemy z skalowalnością w dół. Ogólnie rzecz biorąc, powinieneś mieć więcej zasobów w przestrzeni URI niż obiekty modelu. Pozwala to na przechowywanie w pamięci podręcznej dość statycznych części modelu z inną polityką niż te znacznie bardziej dynamiczne części.
Na przykład w systemie przetwarzania zamówień adres dostawy zmienia się bardzo rzadko, ale śledzenie postępów może się zmieniać co kilka minut. Podaj dwa różne dane URI i różne zasady dotyczące pamięci podręcznej.
+1 za nagłówek ... –
@DonalFellows Thanks. Doceniam twoje krytyczne spojrzenie na wzrok [moje inne odpowiedzi REST] (http://stackoverflow.com/search?q=user:760706+%5Brest%5D), ponieważ jestem dość nowy w temacie. –
Co rozumiem przez "cicho ignorować" jest to, że serwer odpowie "200 OK". – argentpepper