Odpowiedź na nagłówek tego pytania jest dość prosta: nic, pustka lub z przeglądarki/punktu widzenia 200 OK z pustym ciałem.
Polecenia zastosowane w systemie (jeśli zmiana została pomyślnie zatwierdzona) nie dają wyniku. A w przypadku, gdy chcesz zostawić logikę biznesową po stronie serwera, tak, musisz odświeżyć dane, wykonując kolejne żądanie (zapytanie) do serwera.
Jednak najczęściej można pozbyć się drugiego obiegu na serwer. Wybierz tabelę, w której modyfikujesz wiersz i naciskasz przycisk zapisu. Czy naprawdę potrzebujesz zaktualizować tabelę? Lub w przypadku, gdy użytkownik przesyła komentarz do posta na blogu, po prostu dołącz komentarz do innych komentarzy w domenie bez podróży w obie strony.
Jeśli chcesz, aby zmodyfikowany stan został zwrócony z serwera, musisz przemyśleć, co próbujesz osiągnąć. Większość scenariuszy można zmienić tak, aby proste 200 OK było więcej niż wystarczające.
Aktualizacja: Odnośnie pytania o kolejkowanie poleceń przychodzących. Nie jest zalecane, aby polecenia przychodzące były umieszczane w kolejce, ponieważ mogą one zwracać fałszywe alarmy (polecenie zostało pomyślnie odebrane i umieszczone w kolejce, ale gdy polecenie próbuje zmodyfikować stan systemu, który się nie powiedzie). Istnieje jeden wyjątek od reguły, a mianowicie, jeśli masz system z modelem tylko do dołączenia jako stan. Następnie można bezpiecznie umieścić w kolejce mutację stanu systemu do później, jeśli polecenie jest poprawne.
Udi Dahans artykuł nazywa sklarowane CQRS zawsze warto przeczytać na ten temat http://www.udidahan.com/2009/12/09/clarified-cqrs/
Ciekawa odpowiedź Tim, dzięki. Widzę mądrość w używaniu CQRS do wdrażania poleceń, które nie wymagają natychmiastowego wyniku. Problem aktualizacji DOM w myśleniu, że komenda się zmaterializuje, polega na tym, że trudno jest powiedzieć użytkownikowi, że polecenie nie powiodło się. Być może do tego czasu użytkownik opuścił już stronę, myśląc, że jego dane wejściowe działają. Nie widzę, jak można użyć CQRS do rozwiązania tego problemu, jeśli wszystkie polecenia mają zwrócić pustkę. – Roman
Polecenia muszą zawsze modyfikować stan systemu po jego przesłaniu. Odroczenie tego rodzaju pracy może spowodować nieprawidłowe zmiany stanu systemu, dając użytkownikowi fałszywy alarm, o czym wspominasz. Kolejkowanie poleceń przychodzących nie jest rozwiązaniem, chyba że pracujesz z modelem dołączającym tylko jako stan systemu! Teraz, gdy stan został zmieniony przez przesłane polecenie, można bezpiecznie zmienić interfejs użytkownika w przeglądarce. Inne rzeczy, takie jak zdenormalizowane widoki danych, agregacja danych itp., Które składają się na zapytania, mogą różnić się do później. –
"Większość scenariuszy można zmienić tak, aby proste 200 OK było więcej niż wystarczające." Powiedziałbym, że jest odwrotnie. Większość operacji wymaga identyfikatora nowoutworzonego przedmiotu do wykonywania na nim dalszych operacji. –