Sto progettando una nuova applicazione web che è supportata da un backend REST e dal 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 POST sia eseguito in questo modo:
POST /api/config BODY {config: ....}
Per questo motivo, vorrei mostrare un'anteprima prima che vengano apportate tali modifiche, affinché l'utente possa notare cosa cambierà.
La cosa che ho pensato prima è di creare un endpoint Get per l'anteprima, inviando il corpo del nuovo stato dell'entità. In questo modo:
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 perché non sto alterando lo stato dell'applicazione. Tuttavia, l'utilizzo di un corpo di richiesta con richieste GET sembra essere scoraggiato .
C'è qualche buona pratica al riguardo? Un'altra scelta potrebbe essere quella di memorizzare la configurazione come una bozza con un metodo e visualizzare i risultati con altri, ma richiederebbe un ulteriore passaggio e dovendo gestire le bozze nel server:
POST /api/preview/config BODY {config: ....}
GET /api/preview/items?idPreviewConfig=1