Estou projetando um novo aplicativo Web que é alimentado por um back-end REST e front-end HTML + JS.
Existe um método POST para alterar uma entidade (vamos chamar de Config), que possui vários efeitos colaterais no estado de muitos elementos do aplicativo. Vamos supor que o POST seja executado desta maneira:
POST /api/config BODY {config: ....}
Por isso, gostaria de mostrar uma prévia antes que essas alterações sejam feitas, para que o usuário final possa perceber o que vai mudar.
A primeira coisa que pensei foi criar um ponto de extremidade GET para a visualização, enviando o corpo do novo estado da entidade. Por aqui:
GET /api/preview/items BODY {config: ....}
Pode mostrar o novo estado para os itens com a nova configuração.
GET /api/preview/sales BODY {config: ....}
Pode mostrar o novo estado das vendas com a nova configuração.
Parece uma boa ideia usar o verbo GET, pois não estou alterando o estado do aplicativo. No entanto, o uso de um corpo de solicitação com solicitações GET parece desencorajado .
Existe alguma boa prática sobre isso? Outra opção pode ser armazenar a configuração como rascunho com um método e exibir os resultados com outros, mas isso exigiria uma etapa adicional e a necessidade de gerenciar os rascunhos no servidor:
POST /api/preview/config BODY {config: ....}
GET /api/preview/items?idPreviewConfig=1
items
e sales
(não a estrutura), dependendo da configuração do POST.
items
orsales
? Isso afeta a representação da entidade retornada?