PROJECT/DocViewer_Web

자바 웹용어 분석하기 - 22.09.05

최뭉뭉 2022. 9. 6. 16:31

@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)

여기서 멱등성이란, 여러 번 실행해도 한 번 실행한 것과 동일한 성질입니다.

 

 

 

 

-참고링크

https://ncucu.me/137