Buscando Employee por name
Atualizado
Atualizado
No Spring, criaremos um método para essa consulta, veja:
No Controller:
@GetMapping
public ResponseEntity<List><EmployeeMinDTO>> findByName(
//default value é: se o nome não for informado, por padrão será
//uma string vazia
@RequestParam(name= "name", defaultValue = "") String name) {
List<EmployeeMinDTO> result = service.findByName(name);
return ResponseEntity.ok(result);
}
No Service:
@Transactional(readOnly = true)
public List<EmployeeMinDTO> findByName(String name) {
//criaremos esse método abaixo no repository
List<Employee> result = repository.findByName(name);
//convertendo o result acima para um tipo DTO
return result.stream().map(x -> new EmployeeMinDTO(x)).toList();
}
No Repository:
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
//caso quiséssemos procurar por "maria" ou "Maria", colocar
// "IgnoreCase" no final dos métodos (aqui e no service também).
List<Employee> findByName(String name);
}