Boa noite,
Tenho uma api que me retorna todos os resultado da base, porém gostaria de retornar apenas os registros que contém o id do usuário logado. Segue meu código:
Realiza uma busca geral (onde quero que busque apenas pelo login):
@GetMapping
public ResponseEntity<?> listarPedidoPorProfessor() {
List < Pedido > pedido = pedidoRepository.findAll();
return ResponseEntity.ok(pedido);
}
Minha classe repository:
public interface PedidoRepository extends JpaRepository<Pedido, Long> {
@Query(value = "select * from alm_pedidos where id_professor = ?1", nativeQuery = true)
List<Pedido> findByProfessor(String codigo);
}
Obrigado
Você está utilizando spring security?
Ainda não fiz a implementação do security.
Então… se não tem segurança, quer dizer que ainda não tem usuário logado para ser usado.
@Lucas_Camara vou implementar o security. Me indicaria alguma vídeo aula para eu poder seguir? Encontrei apenas configuração mock:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable().authorizeRequests()
.antMatchers(AUTH_LIST).permitAll().anyRequest()
.authenticated().and().formLogin().permitAll().and()
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout"));
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception{
auth.inMemoryAuthentication()
.withUser("andre").password("{noop}123").roles("ADMIN");
}
Mas nesse caso meu projeto tem um front, e essa class retorna um html com uma tela pré definada…
Boa noite!
Estou tendo esse mesmo problema. Já fiz a implantação do Spring security, mesmo assim está listado todos os objetos e eu queria somente que listasse os itens relacionados aquele usuário logado.