方法参数
下表显示了支持的控制器方法参数。
Reactive 类型(Reactor、RxJava、或其他)在需要阻塞 I/O(例如,读取请求主体)才能解析的参数上受支持。这在“描述”列中标记。在不需要阻塞的参数上,不应使用 Reactive 类型。
JDK 1.8 的 java.util.Optional
作为方法参数与具有 required
属性的注释(例如,@RequestParam
、@RequestHeader
等)结合使用时受支持,并且等效于 required=false
。
控制器方法参数 | 描述 |
---|---|
|
访问完整的 |
|
访问 HTTP 请求或响应。 |
|
访问会话。这不会强制启动新会话,除非添加了属性。支持 Reactive 类型。 |
|
当前经过身份验证的用户 — 可能是一个特定的 |
|
请求的 HTTP 方法。 |
|
当前请求的区域设置,由最具体的 |
|
与当前请求关联的时区,由 |
|
用于访问 URI 模板变量。请参阅 URI 模式。 |
|
用于访问 URI 路径段中的名称-值对。请参阅 矩阵变量。 |
|
用于访问查询参数。参数值将转换为声明的方法参数类型。请参阅 请注意,使用 |
|
用于访问请求头。头值将转换为声明的方法参数类型。请参阅 |
|
用于访问 Cookie。Cookie 值将转换为声明的方法参数类型。请参阅 |
|
用于访问 HTTP 请求主体。主体内容将使用 |
|
用于访问请求头和主体。主体将使用 |
|
|
|
用于访问 HTML 控制器中使用的模型,并作为视图渲染的一部分公开给模板。 |
|
用于访问模型中已存在的属性(如果不存在则实例化),并应用数据绑定和验证。请参阅 请注意,使用 |
|
要访问来自验证和数据绑定的命令对象的错误,例如 |
|
用于标记表单处理完成,这将触发通过类级别的 |
|
用于准备相对于当前请求的主机、端口、方案和上下文路径的 URL。请参见 URI 链接。 |
|
用于访问任何会话属性,与作为类级别 |
|
用于访问请求属性。有关更多详细信息,请参见 |
任何其他参数 |
如果方法参数与上述任何参数都不匹配,则默认情况下,如果它是简单类型(由 BeanUtils#isSimpleProperty 确定),则将其解析为 |