此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10spring-doc.cadn.net.cn

方法参数

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

响应式类型(Reactor、RxJava 或其他)是支持需要阻塞 I/O(例如,读取请求正文)的参数被解决。这在“描述”列中标记。不需要响应式类型不需要阻塞的参数。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 请求和响应的容器,请求和会话属性,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

当前经过身份验证的用户 — 可能是特定的Principal实现类(如果已知)。支持响应式类型。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.Maporg.springframework.ui.Modelspring-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

ErrorsBindingResultspring-doc.cadn.net.cn

用于访问命令对象的验证和数据绑定中的错误,即@ModelAttribute论点。一ErrorsBindingResult参数必须声明 紧接在已验证的方法参数之后。spring-doc.cadn.net.cn

SessionStatus+ 班级@SessionAttributesspring-doc.cadn.net.cn

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

UriComponentsBuilderspring-doc.cadn.net.cn

用于准备相对于当前请求的主机、端口、方案和 上下文路径。请参阅 URI 链接spring-doc.cadn.net.cn

@SessionAttributespring-doc.cadn.net.cn

用于访问任何会话属性 — 与存储在会话中的模型属性相反 由于类级@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