Spring/Spring MVC

[Spring MVC] 2-1. Handler Methods: Method Arguments

noahkim_ 2023. 10. 17. 00:44

Method Arguments

  • Spring MVC에서 지원하는 handler method의 argument 입니다.

 

Class

WebRequest, NativeWebRequest 직접 Servlet API를 사용하지 않고 요청 매개변수 및 요청 및 세션 속성에 액세스할 수 있습니다.
jakarta.servlet.ServletRequest
jakarta.servlet.ServletResponse
웹 요청과 응답에 대한 기본 인터페이스입니다.
다양한 요청 및 응답 유형에 대한 액세스를 제공합니다.
HttpServletRequest와 같은 구체적인 서블릿 요청 유형으로 캐스팅될 수 있습니다.

(ServletRequest, HttpServletRequest)
(Spring’s 
MultipartRequest, MultipartHttpServletRequest)
jakarta.servlet.http.HttpSession 사용자의 세션 데이터를 관리하는데 사용됩니다.
jakarta.servlet.http.PushBuilder HTTP/2 리소스를 프로그래밍 방식으로 푸시하는 Servlet 4.0 push builder API입니다.
이를 통해 서버는 클라이언트에게 필요한 리소스를 미리 푸시할 수 있습니다.
java.security.Principal 현재 인증된 사용자에 대한 정보입니다.
java.util.Locale 현재 요청의 로케일입니다.
java.util.TimeZone
java.time.ZoneId
현재 요청과 관련된 시간대입니다.
java.io.InputStream
java.io.Reader
Servlet API에 의해 노출된 원시 요청 본문에 대한 액세스입니다.
java.io.OutputStream
java.io.Writer
Servlet API에 의해 노출된 원시 응답 본문에 대한 액세스입니다.
HttpMethod
요청의 HTTP 메서드를 나타냅니다.
Model
ModelMap

컨트롤러에서 사용되는 모델에 액세스하기 위한 것입니다.
RedirectAttributes 리다이렉트 시 URL에 추가할 속성을 설정하는데 사용됩니다.
Errors
BindingResult
데이터 바인딩 및 유효성 검사 오류에 대한 액세스입니다.
UriComponentsBuilder 현재 요청과 관련된 URL을 준비하는 데 사용됩니다.

 

Annotation

@PathVariable URI의 경로 변수를 메서드 인자로 매핑하는데 사용됩니다.
@RequestParam 쿼리 매개변수나 폼 데이터를 메서드 인자로 매핑하는데 사용됩니다.
@RequestHeader HTTP 헤더 값을 메서드 인자로 매핑하는데 사용됩니다.
@CookieValue 쿠키 값을 메서드 인자로 매핑하는데 사용됩니다.
@RequestBody Request Body를 Java 객체로 변환하여 메서드 인자로 전달받습니다.
(HttpMessageConverter를 사용하여 변환합니다.)
@RequestPart multipart 요청의 특정 부분을 메서드 인자로 매핑하는데 사용됩니다.
(HttpMessageConverter를 사용하여 변환합니다.)
@RequestAttribute Request Attribute를 액세스하는데 사용되는 에노테이션입니다.
@SessionAttribute Session Attribute를 액세스하는데 사용되는 에노테이션입니다.
@ModelAttribute 뷰에 전달될 데이터를 처리하는데 사용됩니다. 
메서드 인자로 데이터를 바인딩하거나 모델에 추가하는 데 사용됩니다.

 

 

출처