2023.11.14 ArgumentResolver

손창현·2023년 11월 14일
0

TIL

목록 보기
8/15

ArgumentResolver(아규먼트 리졸버)란?

스프링의 Dispatcher Servlet은 컨트롤러로 요청을 전달한다. 이 때 컨트롤러에서 필요로 하는 객체를 만들고 값을 바인딩하여 전달하기 위해 사용되는 것이 ArgumentResolver이다. 아래의 어노테이션들은 모두 ArgumentResolver로 동작한다.

  • @RequestParam: 쿼리 파라미터 값 바인딩
  • @ModelAttribute: 쿼리 파라미터 및 폼 데이터 바인딩
  • @CookieValue: 쿠키값 바인딩
  • @RequestHeader: 헤더값 바인딩
  • @RequestBody: 바디값 바인딩

ArgumentResolver가 동작하면 컨트롤러로 전달할 객체가 만들어지고, 컨트롤러에게 전달된다.

간혹 @RequestBody에 사용자가 정의한 ArgumentResolver를 중복해서 쓰는 경우가 있는데 이 때, @RequestBody가 우선으로 동작하여 다른 ArgumentResolver는 무시된다.

Reference

https://mangkyu.tistory.com/250

profile
백엔드개발자 손창현입니다.

0개의 댓글