Loading...
Spring Framework Reference Documentation 7.0.2의 Method Arguments의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
See equivalent in the Servlet stack
다음 표는 지원되는 controller method argument를 보여줍니다.
Reactive type(Reactor, RxJava, 또는 기타)는 해결되기 위해 blocking I/O(예: request body 읽기)가 필요한 argument에서 지원됩니다. 이는 Description 열에 표시됩니다. Reactive type은 blocking이 필요하지 않은 argument에서는 예상되지 않습니다.
JDK 1.8의 java.util.Optional은 method argument로 지원되며,
required attribute를 가진 annotation(예: @RequestParam, @RequestHeader,
기타)과 함께 사용할 수 있고, required=false와 동일합니다.
| Controller method argument | Description |
|---|---|
ServerWebExchange | 전체 ServerWebExchange에 대한 access — HTTP request와 response에 대한 컨테이너,<br>request와 session attribute, checkNotModified method 등. |
ServerHttpRequest, ServerHttpResponse | HTTP request 또는 response에 대한 access. |
WebSession | session에 대한 access. attribute가 추가되지 않는 한 새로운 session의 시작을 강제하지<br>않습니다. Reactive type을 지원합니다. |
java.security.Principal | 현재 인증된 user — 알려진 경우 특정 Principal implementation class일 수 있습니다.<br>Reactive type을 지원합니다. |
org.springframework.http.HttpMethod | request의 HTTP method. |
java.util.Locale | 사용 가능한 가장 구체적인 LocaleResolver에 의해 결정되는 현재 request locale — <br>실제로는 구성된 LocaleResolver/LocaleContextResolver. |
java.util.TimeZone + java.time.ZoneId | LocaleContextResolver에 의해 결정되는, 현재 request와 연관된 time zone. |
@PathVariable | URI template variable에 대한 access. URI Patterns를 참조하세요. |
@MatrixVariable | URI path segment의 name-value pair에 대한 access. Matrix Variables를 참조하세요. |
@RequestParam | query parameter에 대한 access. parameter value는 선언된 method argument<br>type으로 변환됩니다. @RequestParam을 참조하세요.<br>@RequestParam 사용은 선택 사항임에 유의하세요 — 예를 들어, 그 attribute를 설정하기 위해.<br>이 표의 뒷부분에 나오는 “Any other argument”를 참조하세요. |
@RequestHeader | request header에 대한 access. header value는 선언된 method argument<br>type으로 변환됩니다. @RequestHeader를 참조하세요. |
@CookieValue | cookie에 대한 access. cookie value는 선언된 method argument type으로<br>변환됩니다. @CookieValue를 참조하세요. |
@RequestBody | HTTP request body에 대한 access. body content는 HttpMessageReader instance를 사용하여<br>선언된 method argument type으로 변환됩니다. Reactive type을 지원합니다.<br>@RequestBody를 참조하세요. |
HttpEntity<B> | request header와 body에 대한 access. body는 HttpMessageReader instance로<br>변환됩니다. Reactive type을 지원합니다. HttpEntity를 참조하세요. |
@RequestPart | multipart/form-data request의 part에 대한 access. Reactive type을 지원합니다.<br>Multipart Content와 Multipart Data를 참조하세요. |
java.util.Map or org.springframework.ui.Model | HTML controller에서 사용되고 view rendering의 일부로 template에 노출되는<br>model에 대한 access. |
@ModelAttribute | model에 있는 기존 attribute에 대한 access(존재하지 않으면 인스턴스화됨)로,<br>data binding과 validation이 적용됩니다. @ModelAttribute와<br>Model, DataBinder를 참조하세요.<br>@ModelAttribute 사용은 선택 사항임에 유의하세요 — 예를 들어, 그 attribute를 설정하기 위해.<br>이 표의 뒷부분에 나오는 “Any other argument”를 참조하세요. |
Errors or BindingResult | command object(즉, @ModelAttribute argument)에 대한 validation과 data binding에서<br>발생한 error에 대한 access. Errors 또는 BindingResult argument는<br>validation된 method argument 바로 다음에 선언되어야 합니다. |
SessionStatus + class-level @SessionAttributes | form processing 완료를 표시하며, 이는 class-level @SessionAttributes annotation을 통해<br>선언된 session attribute의 정리를 트리거합니다.<br>자세한 내용은 @SessionAttributes를 참조하세요. |
UriComponentsBuilder | 현재 request의 host, port, scheme, context path에 상대적인 URL을 준비하기 위해 사용됩니다.<br>URI Links를 참조하세요. |
@SessionAttribute | session attribute에 대한 access — class-level @SessionAttributes 선언의 결과로<br>session에 저장된 model attribute와는 대조적입니다. 자세한 내용은<br>@SessionAttribute를 참조하세요. |
@RequestAttribute | request attribute에 대한 access. 자세한 내용은 @RequestAttribute를 참조하세요. |
| Any other argument | method argument가 위의 어느 것과도 매칭되지 않으면, 기본적으로<br>간단한 type인 경우(이는<br>BeanUtils#isSimpleProperty에 의해 결정됨) @RequestParam으로,<br>그렇지 않으면 @ModelAttribute로 해결됩니다. |
Handler Methods
Return Values