Estoy diseñando una nueva aplicación web que funciona con un backend REST y una interfaz HTML + JS.
Hay un método POST para cambiar una entidad (llamemos a Config), que tiene varios efectos secundarios en el estado de muchos elementos de la aplicación. Supongamos que la POST se realiza de esta manera:
POST /api/config BODY {config: ....}
Debido a esto, me gustaría mostrar una vista previa antes de que se realicen esos cambios, para que el usuario final pueda darse cuenta de lo que va a cambiar.
Lo primero que pensé fue hacer un punto final GET para la vista previa, enviando el cuerpo del nuevo estado de la entidad. De esta manera:
GET /api/preview/items BODY {config: ....}
Puede mostrar el nuevo estado de los elementos con la nueva configuración.
GET /api/preview/sales BODY {config: ....}
Podría mostrar el nuevo estado de las ventas con la nueva configuración.
Parece una buena idea usar el verbo GET ya que no estoy alterando el estado de la aplicación. Sin embargo, se desaconseja el uso de un cuerpo de solicitud con solicitudes GET .
¿Hay alguna buena práctica sobre esto? Otra opción podría ser almacenar la configuración como un borrador con un método y mostrar los resultados con otros, pero requeriría un paso adicional y tener que administrar los borradores en el servidor:
POST /api/preview/config BODY {config: ....}
GET /api/preview/items?idPreviewConfig=1
items
y sales
(no la estructura), dependiendo de la configuración que PUBLICES.
items
osales
? ¿Afecta la representación de la entidad devuelta?