Witam posiadam zwykłą metodkę, którą chciałbym aby niezalogowany użytkownik mógł zobaczyć
@GetMapping
public ResponseEntity<Page<RestaurantDto>> getAllRestaurant(Principal user, Pageable pageable,
@RequestParam(required = false) boolean my) {
return new ResponseEntity<>(restaurantService.getAllRestaurants(user.getName(), pageable, my), HttpStatus.OK);
}
Gdzie dostaje wszystkie restauracje dla klientów jak i również restaurację, które są tylko właściciela (parametr my).
@Override
public void configure(WebSecurity web) {
web.ignoring().antMatchers("/v3/api-docs/**", "/swagger-ui.html", "/swagger-ui/**");
}
Tutaj jak wyżej pokazane dodaje ten endpoint (teraz w kodzie nie ma). Wszystko działa niby ok (jest dostęp bez zalogowanie) tylko, że gdy chciałbym zobaczyć tylko właściciela restauracje to muszę mieć jego id, które jest w principal, ale principal jest null bo jednak ignorujemy ten url i tutaj pytanko czy jest na to jakieś wyjście ?
Myślałem żeby zduplikować metodę i udostępnić publicznie tylko nie wiem czy to jest dobra praktyka (zapewne nie :D). Wtedy jedno było by do publicznego a drugie właściciel mógłby sobie zobaczyć tylko swoje restauracje.
Artur KowalskiShalomdodatkowy endpoint
zwraca zupelnie coś innego zbiznesowego punktu widzenia
. Rozumiem że oba zwracają ten samtyp danych
, tzn listę restauracji, ale to są w rzeczywistości zupełnie różne rzeczy.Artur Kowalski