WebRequest , NativeWebRequest
|
서블릿 API를 직접 사용하지 않고 요청 매개변수와 요청 및 세션 속성에 대한 일반적인 접근. |
jakarta.servlet.ServletRequest , jakarta.servlet.ServletResponse
|
특정 요청 또는 응답 유형 선택 — 예를 들어, ServletRequest , HttpServletRequest ,
또는 스프링의 MultipartRequest , MultipartHttpServletRequest 등. |
jakarta.servlet.http.HttpSession
|
세션의 존재를 강제합니다. 따라서 이러한 인수는 결코 null 이 아닙니다.
세션 액세스는 스레드 안전하지 않습니다. 여러 요청이 세션에 동시에 액세스하도록 허용되는 경우 RequestMappingHandlerAdapter 인스턴스의 synchronizeOnSession 플래그를 true 로 설정하는 것이 좋습니다. |
jakarta.servlet.http.PushBuilder
|
프로그래밍 방식의 HTTP/2 리소스 푸시를 위한 Servlet 4.0 푸시 빌더 API.
Servlet 사양에 따르면 클라이언트가 해당 HTTP/2 기능을 지원하지 않으면 주입된 PushBuilder 인스턴스가 null 일 수 있습니다. |
java.security.Principal
|
현재 인증된 사용자 — 알려진 경우 특정 Principal 구현 클래스.
이 인수는 게으르게 해결되지 않습니다. 즉, 사용자가 HttpServletRequest#getUserPrincipal 를 통해 기본 해결로 전환되기 전에 사용자 정의 리졸버를 통해 이를 해결할 수 있도록 주석이 달려 있습니다.
예를 들어 Spring Security Authentication 은 Principal 을 구현하고 이를 통해 HttpServletRequest#getUserPrincipal 에 주입되며, @AuthenticationPrincipal 로 주석이 달려 있지 않은 경우 Spring Security 리졸버를 통해 Authentication#getPrincipal 로 해결됩니다. |
HttpMethod
|
요청의 HTTP 메소드. |
java.util.Locale
|
가장 구체적인 LocaleResolver 에 의해 결정된 현재 요청 로캘(설정된 LocaleResolver 또는 LocaleContextResolver ). |
java.util.TimeZone + java.time.ZoneId
|
현재 요청과 관련된 시간대, LocaleContextResolver 에 의해 결정됨. |
java.io.InputStream , java.io.Reader
|
Servlet API에 의해 노출된 원시 요청 본문에 대한 액세스. |
java.io.OutputStream , java.io.Writer
|
Servlet API에 의해 노출된 원시 응답 본문에 대한 액세스. |
@PathVariable
|
URI 템플릿 변수에 액세스하기 위해. URI 패턴 참조. |
@MatrixVariable
|
URI 경로 세그먼트의 이름-값 쌍에 액세스하기 위해. 매트릭스 변수 참조. |
@RequestParam
|
멀티파트 파일을 포함한 서블릿 요청 매개변수에 액세스하기 위해. 매개변수 값은 선언된 메소드 인수 유형으로 변환됨. @RequestParam 및 멀티파트 참조.
간단한 매개변수 값의 경우 @RequestParam 의 사용은 선택 사항입니다.
이 표의 마지막 부분인 “다른 모든 인수”를 참조하십시오. |
@RequestHeader
|
요청 헤더에 액세스하기 위해. 헤더 값은 선언된 메소드 인수 유형으로 변환됨. @RequestHeader 참조. |
@CookieValue
|
쿠키에 액세스하기 위해. 쿠키 값은 선언된 메소드 인수 유형으로 변환됨. @CookieValue 참조. |
@RequestBody
|
HTTP 요청 본문에 액세스하기 위해. 본문 내용은 HttpMessageConverter 구현을 사용하여 선언된 메소드 인수 유형으로 변환됨. @RequestBody 참조. |
HttpEntity<B>
|
요청 헤더 및 본문에 액세스하기 위해. 본문은 HttpMessageConverter 를 사용하여 변환됨. HttpEntity 참조. |
@RequestPart
|
multipart/form-data 요청의 파트에 액세스하기 위해. 파트의 본문은 HttpMessageConverter 를 사용하여 변환됨. 멀티파트 참조.
|
java.util.Map , org.springframework.ui.Model , org.springframework.ui.ModelMap
|
HTML 컨트롤러에서 사용되는 및 뷰 렌더링 시 템플릿에 노출되는 모델에 액세스하기 위해. |
RedirectAttributes
|
리다이렉트 시 사용할 속성 지정 (즉, 쿼리 문자열에 추가됨) 및 리다이렉트 후 요청까지 일시적으로 저장할 플래시 속성 지정.
리다이렉트 속성 및 플래시 속성 참조. |
@ModelAttribute
|
모델에서 기존 속성에 액세스하기 위해 (없으면 인스턴스화됨) 데이터 바인딩 및 유효성 검사가 적용됨. @ModelAttribute , 모델, DataBinder 참조.
@ModelAttribute 의 사용은 선택 사항입니다(예: 속성 설정). 이 표의 “다른 모든 인수”를 참조하십시오. |
Errors , BindingResult
|
명령 객체(즉, @ModelAttribute 인수) 또는 @RequestBody 또는 @RequestPart 인수의 유효성 검증 및 데이터 바인딩에서의 오류에 액세스하기 위해.
유효성 검증 후 바로 오류 또는 BindingResult 인수를 선언해야 함. |
SessionStatus + 클래스 수준의 @SessionAttributes
|
폼 처리 완료 표시를 위해, 클래스 수준의 @SessionAttributes 주석을 통해 선언된 세션 속성의 정리를 트리거합니다. 자세한 내용은 @SessionAttributes 참조. |
UriComponentsBuilder
|
현재 요청의 호스트, 포트, 스키마, 컨텍스트 경로 및 서블릿 매핑의 리터럴 부분에 상대적인 URL을 준비하기 위해. URI 링크 참조. |
@SessionAttribute
|
세션에 저장된 모델 속성과는 달리 세션 속성에 액세스하기 위해. 자세한 내용은 @SessionAttribute 참조. |
@RequestAttribute
|
요청 속성에 액세스하기 위해. 자세한 내용은 @RequestAttribute 참조. |
다른 모든 인수 |
이 표의 이전 항목과 일치하지 않는 메소드 인자가 간단한 유형인 경우
(BeanUtils#isSimpleProperty에 의해 결정됨),
@RequestParam 으로 해결됩니다. 그렇지 않으면 @ModelAttribute 로 해결됩니다. |