对于最新的稳定版本,请使用 Spring Framework 6.2.0spring-doc.cadn.net.cn

方法参数

下表显示了支持的控制器方法参数。spring-doc.cadn.net.cn

响应式类型(Reactor、RxJava 或其他)是 支持需要阻塞 I/O 的参数(例如,读取请求正文)到 被解决。这在 Description (描述) 列中标记。不需要响应式类型 在不需要阻塞的参数上。spring-doc.cadn.net.cn

JDK 1.8 的java.util.Optional支持作为方法参数与 具有required属性(例如@RequestParam,@RequestHeader, 和其他)并且等效于required=false.spring-doc.cadn.net.cn

控制器方法参数 描述

ServerWebExchangespring-doc.cadn.net.cn

访问完整版ServerWebExchange— HTTP 请求和响应的容器, request 和 session 属性、checkNotModified方法等。spring-doc.cadn.net.cn

ServerHttpRequest,ServerHttpResponsespring-doc.cadn.net.cn

访问 HTTP 请求或响应。spring-doc.cadn.net.cn

WebSessionspring-doc.cadn.net.cn

访问会话。这不会强制启动新会话,除非属性 被添加。支持响应式类型。spring-doc.cadn.net.cn

java.security.Principalspring-doc.cadn.net.cn

当前经过身份验证的用户 — 可能是特定的Principalimplementation 类(如果已知)。 支持响应式类型。spring-doc.cadn.net.cn

org.springframework.http.HttpMethodspring-doc.cadn.net.cn

请求的 HTTP 方法。spring-doc.cadn.net.cn

java.util.Localespring-doc.cadn.net.cn

当前请求区域设置,由最具体的LocaleResolveravailable — 在 effect 中,配置的LocaleResolver/LocaleContextResolver.spring-doc.cadn.net.cn

java.util.TimeZone + java.time.ZoneIdspring-doc.cadn.net.cn

与当前请求关联的时区,由LocaleContextResolver.spring-doc.cadn.net.cn

@PathVariablespring-doc.cadn.net.cn

用于访问 URI 模板变量。请参阅 URI 模式spring-doc.cadn.net.cn

@MatrixVariablespring-doc.cadn.net.cn

用于访问 URI 路径段中的名称-值对。请参见矩阵变量spring-doc.cadn.net.cn

@RequestParamspring-doc.cadn.net.cn

用于访问查询参数。参数值将转换为声明的方法参数 类型。看@RequestParam.spring-doc.cadn.net.cn

请注意,使用@RequestParam是可选的 — 例如,设置其属性。 请参阅此表后面的“任何其他参数”。spring-doc.cadn.net.cn

@RequestHeaderspring-doc.cadn.net.cn

用于访问请求标头。标头值将转换为声明的方法参数 类型。看@RequestHeader.spring-doc.cadn.net.cn

@CookieValuespring-doc.cadn.net.cn

用于访问 Cookie。Cookie 值将转换为声明的方法参数类型。 看@CookieValue.spring-doc.cadn.net.cn

@RequestBodyspring-doc.cadn.net.cn

用于访问 HTTP 请求正文。正文内容被转换为声明的方法 参数类型HttpMessageReader实例。支持响应式类型。 看@RequestBody.spring-doc.cadn.net.cn

HttpEntity<B>spring-doc.cadn.net.cn

用于访问请求标头和正文。主体转换为HttpMessageReader实例。 支持响应式类型。看HttpEntity.spring-doc.cadn.net.cn

@RequestPartspring-doc.cadn.net.cn

要访问multipart/form-data请求。支持响应式类型。 请参阅多部分内容多部分数据spring-doc.cadn.net.cn

java.util.Map,org.springframework.ui.Modelorg.springframework.ui.ModelMap.spring-doc.cadn.net.cn

用于访问在 HTML 控制器中使用并作为模板公开的模型 视图渲染的一部分。spring-doc.cadn.net.cn

@ModelAttributespring-doc.cadn.net.cn

要访问模型中的现有属性(如果不存在,则实例化),请使用 应用了数据绑定和验证。看@ModelAttribute也 如ModelDataBinder.spring-doc.cadn.net.cn

请注意,使用@ModelAttribute是可选的 — 例如,设置其属性。 请参阅此表后面的“任何其他参数”。spring-doc.cadn.net.cn

Errors,BindingResultspring-doc.cadn.net.cn

用于访问命令对象的验证和数据绑定中的错误,即@ModelAttribute论点。一ErrorsBindingResult参数 紧跟在 validated method 参数之后。spring-doc.cadn.net.cn

SessionStatus+ 类级别@SessionAttributesspring-doc.cadn.net.cn

用于将表单处理标记为完成,从而触发会话属性的清理 通过类级别@SessionAttributes注解。 看@SessionAttributes了解更多详情。spring-doc.cadn.net.cn

UriComponentsBuilderspring-doc.cadn.net.cn

用于准备相对于当前请求的 host、port、scheme 和 context 路径。请参阅 URI 链接spring-doc.cadn.net.cn

@SessionAttributespring-doc.cadn.net.cn

用于访问任何 session 属性 — 与 session 中存储的 model 属性相反 由于类级别@SessionAttributes声明。看@SessionAttribute了解更多详情。spring-doc.cadn.net.cn

@RequestAttributespring-doc.cadn.net.cn

用于访问请求属性。看@RequestAttribute了解更多详情。spring-doc.cadn.net.cn

任何其他参数spring-doc.cadn.net.cn

如果方法参数与上述任何内容都不匹配,则默认情况下,它会解析为 一个@RequestParam如果它是一个简单类型,由 BeanUtils#isSimpleProperty 确定, 或作为@ModelAttribute否则。spring-doc.cadn.net.cn