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

Duvida

No tratamento de erro da Listagem de Autores se eu substituo a url: "http://localhost:8000/api/autor/nome" para "http://localhost:8000/api/autor/nomes" não está caindo no catch, porém se eu substituo a url para "http://localhost:8000/api/autora/nome" cai no catch, há alguma razão para acontecer isto?

No tratamento de erro da Listagem de Livros independente de onde eu troque na url cai sempre no catch.

3 respostas
solução!

Fala ai Luiz, tudo bem? Vamos lá:

No tratamento de erro da Listagem de Autores se eu substituo a url: "http://localhost:8000/api/autor/nome" para "http://localhost:8000/api/autor/nomes" não está caindo no catch

Isso acontece porque a rota na API provavelmente foi definida com um parâmetro, ou seja, algo assim:

router.get(/api/autor/:nome, controller.buscarAutor)

Dessa forma o que vier depois do /autor/ vai ser considerado como o parâmetro nome e será recebido dentro do controlador:

function buscarAutor(req, res) {
    // aqui será impresso `nomes` ou qualquer outro valor que passamos após `/autor/`
    console.log(req.params.nome)
}

Por ser um parâmetro genérico ao realizar a requisição não está caindo no catch, pois a API deve retornar algo e o processamento deve estar sendo feito sem erro não esperado.

Espero ter ajudado.

Opa Matheus.

Obrigado pela resposta, entendi. Achei que fosse algo deste tipo mesmo.

Magina Luiz, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software