Я розробляю нову веб-програму, яка працює на основі REST-інтерфейсу та HTML + JS-інтерфейсу.
Існує один метод POST для зміни однієї сутності (назвемо Config), який має кілька побічних ефектів у стані багатьох елементів програми. Припустимо, POST виконується так:
POST /api/config BODY {config: ....}
Через це я хотів би показати попередній перегляд до тих змін, щоб кінцевий користувач міг помітити, що має змінитись.
Я вперше задумався над тим, щоб зробити кінцеву точку GET для попереднього перегляду, надсилаючи тіло нового стану сутності. Сюди:
GET /api/preview/items BODY {config: ....}
Може показати новий стан для елементів із новою конфігурацією.
GET /api/preview/sales BODY {config: ....}
З новою конфігурацією можна показати новий стан продажів.
Здається, добре використовувати дієслово GET, оскільки я не змінюю стан програми. Однак використання органу запитів із GET- запитами, мабуть, не рекомендується .
Чи є якась добра практика з цього приводу? Іншим вибором може бути збереження конфігурації як чернетки одним методом та відображення результатів разом з іншими, але це потребує додаткового кроку та керування чернетками на сервері:
POST /api/preview/config BODY {config: ....}
GET /api/preview/items?idPreviewConfig=1
items
і sales
(не структура), в залежності від конфігурації ви POST.
items
абоsales
? Чи впливає це на представництво поверненої особи?