Link do repositório no github: https://github.com/MarcosLucasVieira/Portifolio
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!