@PreAuthorize("hasRole('ROLE_CUSTOMER')") @PostMapping("/v1/api/orders") public MessageDTO createOrder(@ModelAttribute OrderPageRequestDTO orderPageRequestDTO, @CurrentUser Jwt jwt) { log.info("createOrder orderPageRequestDTO : {}", orderPageRequestDTO); UserDetailsServiceImpl.CustomUserDetails customUserDetails = userDetailsService.loadUserByJwt(jwt); Member member = Member.from(customUserDetai..
Spring Security 5.7.11 기준이다.스프링 시큐리티에는 컨트롤러에 역할(Role) 기반 접근 제한을 설정하는 방법에 여러 가지가 있는데,가장 일반적인 방법으로는 @PreAuthorize 또는 @Secured 어노테이션을 사용하는 것이다.해당 어노테이션은 메서드 수준의 보안이 가능하다.@PreAuthorize특정 역할을 가진 사용 역할을 가진 사용자만 메서드를 호출할 수 있도록 제한할 수 있다.@Controller public class SomeController { @PreAuthorize("hasRole('ROLE_ADMIN')") @RequestMapping("/adminOnly") public String adminOnly() { // 관리자만 접근 가능한 로직 return "admi..
Swagger UI 와 Spring RestDocs 의 장 단점의 비교Swagger UI 의 장점직관적인 UI스웨거는 API 에 대한 요청과 응답 등을 시각적으로 표현하여 사용자가 쉽게 이해할 수 있습니다실시간 테스트API 엔드포인트에 대한 실시간 테스트를 제공합니다.Swagger UI 의 단점어노테이션 수동 기입 기반 API어노테이션 등을 수기로 기입하여 문서를 생성하기에, 코드와 문서간의 불일치가 발생할 수 있다.유지 보수의 문제성API 변경시마다 스웨거 어노테이션을 수정해야한다.복잡코드가 진짜~ 너무 더럽다어노테이션때문에 불필요하게 컨트롤러단과 DTO 단에서 피로함이 가중된다.Spring Rest Docs 의 장점정확성테스트 코드를 기반으로 문서를 생성하기에 코드와 문서간 일관성 유지가 가능하다가볍..