Estou tentando fazer a buscar por ID mas ñ está trazendo nada na hora da pesquisa. Poderia me ajudar?
Segue abaixo os trechos dos códigos que foram implementados para fazer a busca por ID ao invés do nome como mostrado na aula.
parte do código da classe AlunoController
// metodo pesquisar por id
@GetMapping("/aluno/pesquisarid")
public String pesquisarId() {
return "aluno/pesquisarid";
}
// metodo pesquisar
@GetMapping("/aluno/pesquisarId")
public String pesquisarId(@RequestParam("id") ObjectId id, Model model) {
List<Aluno> alunos = repository.pesquisarPorId(id);
model.addAttribute("aluno", alunos);
return "aluno/pesquisarid";
}
Parte do código da Classe AlunoRepository
// metodo pesquisar por ID
public List<Aluno> pesquisarPorId(ObjectId id) {
criarConexao();
MongoCollection<Aluno> alunoCollection = this.bancoDeDados.getCollection("aluno", Aluno.class);
MongoCursor<Aluno> resultados = alunoCollection.find(Filters.eq("id", id), Aluno.class).iterator();
List<Aluno> aluno = popularAlunos(resultados);
fecharConexao();
return alunos;
}
// metodo que itera sobre os alunos no banco
private List<Aluno> popularAlunos(MongoCursor<Aluno> resultados) {
List<Alino> aluns = new ArrayList<>();
while (resultados.hasNext()) {
alunos.add(resultados.next());
}
return alunos;
}