Projektuję nową aplikację internetową, która jest oparta na zapleczu REST i nakładce HTML + JS.
Jest na nim jedna metoda POST , aby zmienić jeden byt (nazwijmy Config), który ma kilka skutków ubocznych w stanie wielu elementów aplikacji. Załóżmy, że test POST jest wykonywany w ten sposób:
POST /api/config BODY {config: ....}
Z tego powodu chciałbym wyświetlić podgląd przed wprowadzeniem tych zmian, aby użytkownik końcowy mógł zauważyć, co się zmieni.
Pierwszą rzeczą, o której pomyślałem, było utworzenie punktu końcowego GET dla podglądu, wysyłając treść nowego stanu encji. Tą drogą:
GET /api/preview/items BODY {config: ....}
Może pokazywać nowy stan elementów z nową konfiguracją.
GET /api/preview/sales BODY {config: ....}
Może pokazać nowy stan sprzedaży dzięki nowej konfiguracji.
Dobrym pomysłem wydaje się użycie czasownika GET, ponieważ nie zmieniam stanu aplikacji. Jednak stosowanie treści żądania z żądaniami GET wydaje się być odradzane .
Czy jest w tym jakaś dobra praktyka? Innym wyborem może być przechowywanie konfiguracji jako wersji roboczej za pomocą jednej metody i wyświetlanie wyników z innymi, ale wymagałoby to dodatkowego kroku i konieczności zarządzania wersjami roboczymi na serwerze:
POST /api/preview/config BODY {config: ....}
GET /api/preview/items?idPreviewConfig=1
items
i sales
( a nie strukturę), w zależności od konfiguracji POST.
items
lubsales
? Czy wpływa to na reprezentację zwracanego podmiotu?