
18 - Filtrar com o comando findBy()
Nessa décima oitava etapa do tutorial de criando APIs com Spring Boot, iremos filtrar dados utilizando o comando findBy().
O comando findBy() serve como se fosse o comando WHERE do SQL. Para compreender o seu uso, será necessário saber quais atributos estão disponíveis em nosso modelo. Neste tutorial temos os atributos:
- Código
- Nome
- Idade
Sendo assim, temos os seguintes tipos de filtragem que podem ser realizadas:
- findByCodigo(int codigo)
- findByNome(String nome)
- findByIdade(int idade)
Note que é utilizado o termo findBy, seguido do atributo do nosso modelo. Tome cuidado que o retorno pode ser de um único registro ou de vários, veja abaixo alguns exemplos:
- Pessoa findByCodigo(int codigo); - O código é único, sendo assim apenas terá o retorno de um registro.
- List
findByNome(String nome); - Supondo que haja duas pessoas com o mesmo nome, deverá retornar uma lista de pessoas.
Lembre-se que o findBy equivale ao comando WHERE do SQL, então quando é realizada uma pesquisa por um nome por exemplo, será algo assim: SELECT * FROM tabela WHERE nome = "Ralf";
Mão na massa! Vamos abrir o nosso repositório e criar o método findByCodigo (linha 16 da imagem abaixo):

Agora vamos criar nossa rota no arquivo de controle:

Podemos realizar um teste via navegador (localhost:8080/api/1):

Você também pode fazer o mesmo teste utilizando o Thunder Client. Espero que tenham entendido, deixarei abaixo um vídeo detalhando a elaboração dessa etapa do tutorial:
Fonte utilizada para a criação desse tutorial: