Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida sobre http GET com JSON no body request

Olá pessoal, eis uma dúvida. Estou com uma situação onde tenho uma tela com vários filtros, em torno de 20 aproximadamente.

Porém não quero passar esses filtros no path da requisição, mas sim como JSON no body.

É comum trabalhar com o método GET dessa forma? Vi que algumas pessoas orientam usar o método http POST para cenários como este.

Se é comum esse tipo de coisa usando GET, alguém poderia me passar um exemplo de chamar client usando a lib axios js. Meu frontend está em Vue JS e não encontrei nenhum exemplo palpável usando GET dessa forma.

No meu entendimento, semanticamente falando não cabe utilizar POST para consultas.

Desde já obrigado!

4 respostas

Fala ai Gustavo, tudo bem? Se você quer enviar as informações no body então o ideal é utilizar POST mesmo (também tem o PUT e DELETE).

No caso você vai precisar chegar em um ponto de equilibrio entre mandar no PATH ou body com POST.

Espero ter ajudado.

Mesmo sendo consulta. Sugere o POST ?

Fala Gustavo, eu olharia mais para o requisito de negócio, vocês precisam que os dados sejam enviados no body? Se sim, vai de POST.

As boas práticas são boas, mas, mais importante que elas é resolver os nossos problemas. As vezes a gente precisa colocar na balança entre resolver o problema e seguir padrões.

Abraços e bons estudos.

solução!

Opa e ai Gustavo tudo bem?

Bom, não sei como está montada a sua tela, mas em se tratando de um local com 20 tipos de filtro, eu suponho (apenas suponho) que você esteja trabalhando com uma tela que possua um tipo de datagrid (datatable).

Se realmente for isso, e há na tela 20 ou mais colunas para esse datatable ou datagrid, eu acredito que seria mais interessante conversar com um UX/UI experiente para enxugar as informações que são exibidas na tabela, deixando apenas o que é mais relevante e colocar os filtros de forma mais enxuta.

Além disso, uma opção seria poder extrair um relatório em formato CSV, XLS ou XLSX para permitir que o próprio usuário faça seus filtros usando ferramentas para isso.

Como mencionado acima pelo Matheus, boas práticas são boas, mas se no caso do requisito de negócio exigir essa quantidade enorme de filtros em tela, então, sugiro que use a abordagem de enviá-los no corpo da requisição com o POST.