Gente, estou aprendendo Spring Boot e utilizando para criação de uma API REST. A API deve permitir apenas a consulta ao Banco de Dados. O desafio que estou respondendo pede, pelo menos no meu entendimento, que a busca possa ser feita usando uma String.
O problema é que não estou acertando fazer isso. Todos os métodos do JPA que já tinha utilizado, só aceitam inteiros(id) como critério.
Alguém pode me ajudar? Desde já, muito obrigada!
Segue exemplo:
Arquivo Autor.java:
/*
* A tabela veio de um banco já existente
*/
@Entity(name="Autor")
@Table(name="escritor")
public class Autor{
@Id
private Integer id;
private String nome;
private String citacao;
/*Getters e Setters*/
}
Arquivo AutorRepository.java:
/* Repositório */
public interface AutorRepository extends JpaRepository<Autor, Integer>{
}
Arquivo AutorService.java:
/* Serviço */
public interface AutorService{
Autor getCitacao();
Autor getCitacaoPorAutor(String nome);
}
Arquivo AutorServiceImpl.java:
@Service
@RestController
@RequestMapping("/view")
public class AutorServiceImpl implements AutorService {
@Autowired
private AutorRepository repository;
@Override
@RequestMapping("/citacao")
@ResponseBody
public Autor getCitacao(){
return null;
}
/* Não sei como procurar por nome */
@Override
@RequestMapping("/citacao/{nome}")
@ResponseBody
public Autor getCitacaoPorAutor(String nome){
Autor autor = repository.find?????????????();
return autor.getCitacao()???????????;
}
}