Sto progettando una nuova applicazione Web che è alimentata da un backend REST e frontend HTML + JS.
C'è un metodo POST su di esso per cambiare un'entità (chiamiamo Config), che ha diversi effetti collaterali nello stato di molti elementi dell'applicazione. Supponiamo che il POST venga eseguito in questo modo:
POST /api/config BODY {config: ....}
Per questo motivo, vorrei mostrare un'anteprima prima di apportare tali modifiche, affinché l'utente finale possa notare cosa cambierà.
La prima cosa a cui ho pensato è creare un endpoint GET per l'anteprima, inviando il corpo del nuovo stato dell'entità. Per di qua:
GET /api/preview/items BODY {config: ....}
Potrebbe mostrare il nuovo stato per gli articoli con la nuova configurazione.
GET /api/preview/sales BODY {config: ....}
Potrebbe mostrare il nuovo stato per le vendite con la nuova configurazione.
Sembra una buona idea usare il verbo GET poiché non sto modificando lo stato dell'applicazione. Tuttavia, l'uso di un corpo di richiesta con richieste GET sembra scoraggiato .
C'è qualche buona pratica a riguardo? Un'altra scelta potrebbe essere quella di archiviare la configurazione come bozza con un metodo e visualizzare i risultati con altri, ma richiederebbe un passaggio aggiuntivo e la gestione delle bozze nel server:
POST /api/preview/config BODY {config: ....}
GET /api/preview/items?idPreviewConfig=1
items
e sales
(non la struttura), a seconda della configurazione che POST.
items
osales
? Influisce sulla rappresentazione dell'entità restituita?