GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Exibir dados cadastrados em tabela

javascript
Tags: #<Tag:0x00007fb39c0bcff0>

#1

Estou construindo uma tela de cadastro de despesas(utilizando somente html5 e js) que tem um form com varios input select cujos campos listam algumas opções que o usuário deve selecionar para realizar o cadastro. Além disso, essa tela tem uma tabela com as despesas atuais cadastradas no sistema. No backend existem API`s REST que listam as despesas cadastradas e também listam as outras informações que devo exibir nos campos select.

Para exibir a lista de despesas já cadastradas, logo ao carregar a tela, uso a api get despesas construída para criar a tabela. Essa api já traz todas as informações das despesas com suas descrições e funciona do mesmo jeito para os inputs do form.

Ao realizar o cadastro de uma nova despesa, pego os values de cada input para montar o request da API de cadastro, que é um POST que devo fazer passando os Id`s das informações, ao invés das descrições dos itens.

Meu problema acontece quando gravo com sucesso uma nova despesa e logo após isso atualizo a tabela de despesas existentes incluindo a nova despesa. Como fiz o post da nova despesa passando ID`s, não tenho as descrições de cada campo da despesa para atualizar a tabela.

Pensei em duas alternativas:

1 - Após confirmar o cadastro com sucesso da despesa, fazer um get especifico da despesa que acabou de de ser cadastrada (recebo o id da despesa cadastrada no response do post de cadastro) para então, com as informações em mãos, atualizar a tabela.

2 - Alterar no backend, a API POST de cadastro de despesa para devolver em seu response de sucesso, as descrições da nova despesa cadastrada.

Não acho que nenhuma das alternativas é boa pois não quero ter que fazer uma outra chamada GET ao backend toda vez que fizer um POST e não gostaria de alterar o funcionamento de uma API por uma necessidade de uma tela.

Existe outra maneira de implementar isso? Alguém tem alguma dica?

Muito obrigado