728x90
@AuthenticationPrincipal
로그인한 사용자의 정보를 파라메터로 받고 싶을때 기존에는 Principal 객체로 받아서 사용하지만 @AuthenticationPrincipal 애노테이션을 사용하면 UserDetailsService에서 Return한 객체 를 파라메터로 직접 받아 사용할 수 있다.
- 하지만 이 객체는 SecurityContextHolder의 Principal과는 다른 객체이다.
public Long save(@RequestBody final EventRequestDto params, @AuthenticationPrincipal PrincipalDetail principalDetail) throws Exception {
return eventService.save(params, principalDetail.getUser());
}
@PatchMapping
참고로 PUT과 PATCH 둘다 리소스를 업데이트해주는 코드지만
PUT : 리소스의 전체를 변경할 때 사용 (partial modifications), 변경하는 데이터만 요청하면 된다. (멱등성o)
PATCH : 리소스의 부분을 변경할 때 사용, 변경하지 않는 데이터도 함께 전송해야 한다. (멱등성x)
여기서 멱등성이란, 여러 번 실행해도 한 번 실행한 것과 동일한 성질입니다.
'개발 > JPA' 카테고리의 다른 글
aRequestDto, aResponseDto 정의 - 중요 팁 기억 안 날 때 보기 (0) | 2022.09.22 |
---|---|
LAZY, EAGER에서 알게 된것 - Unexpected token (RIGHT BRACE(})) at position 426 (0) | 2022.09.08 |
Jpa fileupload를 위한 샘플링 자료들 (0) | 2022.09.06 |
지연 로딩 즉시 로딩 (0) | 2022.08.30 |
HelloController (0) | 2022.08.26 |