4
respostas

Duvida sobre requisição GET

Estou com uma dificuldade em criar mais de uma requisição GET para a msm página.

Quero criar duas tabelas, onde uma vai apresentar todas as entradas e saída e a segunda tabela vai apresentar um balanço de estoque. Porém, quando executo os GETs, ele da prioridade ao primeiro GET declarado na rota.

Como faço para dizer a cada tabela, que estão na mesma pagina, executar cada uma um get diferente.

4 respostas

Acredito que seja necessário fazer o tratamento dentro da função que será executada pelo GET. você pode passar uma informação no corpo da requisição enviada para isso.

Uma ideia seria enviar um body em Json no momento da requisição do tipo

{
    balanco: true
}

e dentro da função que é executada o GET ficaria mais ou menos:

static async FUNCAODECLARADANOGET(req, res) {

    if(req.body.balanco){

        //se BALANÇO = TRUE então ele irá mostrar a função que pega os dados do balanço

    } else {

        //se BALANÇO = FALSE então ele irá mostrar as entradas e saídas

    }
}

dessa forma acredito que consiga exibir os relatórios conforme deseja.

Não consegui entender sua ideia, acho que a forma como descrevi minha dúvida não ficou clara. Vou apresentar o código para ilustrar melhor. O programa está sendo criado utilizando express e sequelize. Tenho dois arquivos router: Transações e Consolidações.

router
  .get('/', TransacaoController.listarTransacao)
router
  .get('/', ConsolidadoController.listarConsolidacoes)

Meu consolidado está salvo em uma tabela no BD e as transações em outra tabela no BD.

Para ilustrar melhor, tenho essa é a ideia que eles devem aparecer no front.(A tabela que apenas apresenta o cabeçalho seria a de Consolidações)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O que mencionei no comentário anterior seria um tratamento dentro das funções listarTransacao e listarConsolidacoes. mas agora vendo seu código recomendo que use da seguinte forma:

router
  .get('/transacao', TransacaoController.listarTransacao)
router
  .get('/consolidacoes', ConsolidadoController.listarConsolidacoes)

e quando acessar via URL use


http://localhost:3000/transacao
ou
http://localhost:3000/consolidacoes

se não ele irá exibir sempre o primeiro get conforme mencionou na primeira postagem, no router não tem opção para você definir a prioridade de qual deve ser executado primeiro.

Porém, a minha ideia é que seja exibido na mesma tela, se eu criar com URLS distintas, eu teria que colocar em páginas diferente, não?