@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)
여기서 멱등성이란, 여러 번 실행해도 한 번 실행한 것과 동일한 성질입니다.
-참고링크
'PROJECT > DocViewer_Web' 카테고리의 다른 글
POST 시 handleException SQLGrammarException 예외 처리 (0) | 2022.09.15 |
---|---|
Lazy, Eager 사용시 JSON 오류 (0) | 2022.09.08 |
자바 웹용어 분석하기 - 2022.09.02 (1) | 2022.09.02 |
자바 어노테이션 정리해두기 -22.08.29 (0) | 2022.08.29 |
웹용어 분석중 -thymeleaf, dao, dto, jsp..... (0) | 2022.08.25 |