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

Problemas com o uso de query na url

Olá, estou usando node v20.11.0, express 4.19.2 e mongodb 6.5.0. Esse é o código do método do controller de livros para listar os livros por editora: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeEssas são as rotas get de booksRoutes na ordem que aparecem no código: //get routes routes.get('/books',BookController.listBooks) routes.get('books/search',BookController.listBooksByPublisher) routes.get('/books/:id',BookController.findBookById) Essa a imagem do model de books: Insira aqui a descrição dessa imagem para ajudar na acessibilidade Quando chamo via postman http://localhost:3000/books/search?editora=Helênica com routes.get('/books/:id',BookController.findBookById) comentado surge a mensagem: Insira aqui a descrição dessa imagem para ajudar na acessibilidade E quando chamo sem esse trecho comentado tenho: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeGostaria de saber como resolver este problema.

4 respostas

Olá Samuel, tudo bem? Parece que os códigos q vc printou estou certos, então problema deve estar em outra parte. Vc já tentou parar o serviço no node e reiniciar pra ver ser ele reconhece a rota correta?

Esse projeto está no github? Quer compartilhar para eu dar uma olhada mais completa?

Olá Maurício. Eis aqui o link do projeto https://github.com/Samuel-MA7/Biblioteca. Muito obrigado pelo interesse. Já tentei apagar o projeto localmente e baixar de novo e também todas as bibliotecas, mas nada funcionou.

solução!

Fala Samuel, eu que agradeço pela oportunidade de tentar ajudar :)

Olha, o erro está na criação da rota, faltou colocar uma "/" antes da palavra "books" no arquivo booksRoutes.js

//como está
routes.get('books/search',BookController.listBooksByPublisher)

//como tem que ser
routes.get('/books/search',BookController.listBooksByPublisher)

Em relação a fazer o projeto voltar a funcionar; 1-> primeiro fazer a instalação com o comando "npm install" na pasta raiz do projeto;

2-> tem que rever a configuração da conexão com o banco de dados. sujiro vcdar uma olhada no curso "Curso de Node.js: criando uma API Rest com Express e MongoDB" na aula "Persistindo dados" => parte 7 "Conectando MongoDB e API"

3-> rever se suas models do projeto estão iguais as coleções no servidor Atlas MongoDB

Espero ter ajudado. Se tiver mais alguma dúvida, estou a disposição. Abraços

Querido, muito obrigado. Era só essa bobagenzinha.