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