Link do repositório no github: https://github.com/MarcosLucasVieira/Portifolio
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá Marcos! Tudo bem?
Ao olhar o seu projeto não identifiquei nenhum método em medicosController que serie um método de busca, então implementei um do 0 para usar como exemplo para você.
static async listarMedicoPorNome(req, res, next) {
try {
const nome = req.query.nome;
const medicoEncontrado = await medicos.find({ nome: new RegExp(nome, "i") }); // busca case-insensitive
if (medicoEncontrado.length > 0) {
res.status(200).send(medicoEncontrado);
} else {
next(new NaoEncontrado("NOME DO MEDICO(A) NÃO LOCALIZADO"));
}
} catch (erro) {
next(erro);
}
}
O seu medicosRoutes deve ser atualizado também, para adicionar uma nova rota para chamar esse método:
routes.get("/medicos", MedicoController.listarMedicos);
routes.get("/medicos/:id", MedicoController.listarMedicoPorId);
routes.get("/medicos/busca", MedicoController.listarMedicoPorNome); // Corrigida a rota de busca por nome
routes.post("/medicos", MedicoController.cadastrarMedicos);
routes.post("/medicos/:id", MedicoController.atualizarMedico);
routes.delete("/medicos/:id", MedicoController.deletarMedico);
Por fim, o link de busca que você deve utilizar é o seguinte: "http://127.0.0.1:3000/medicos/busca?nome=Carlos"
Espero ter ajudado e bons estudos!