@RequestParam
是 Spring MVC 框架中用于将 HTTP 请求参数映射到控制器方法参数上的注解。以下是它的主要属性和用法:
属性
-
value
:请求参数的名称,是必填项。 -
name
:请求参数的名称,与value
属性功能相同,是value
的别名。 -
required
:指定参数是否必须,默认为true
,表示请求中必须包含该参数,否则会抛出异常。 -
defaultValue
:如果请求中没有传递该参数,则使用此默认值,required
将自动设为false
。
用法
使用 @RequestParam
注解可以简化控制器方法中参数获取的过程。例如:
@RequestMapping(value = "/example", method = RequestMethod.GET)
public String example(@RequestParam(value = "paramName") String paramName,
@RequestParam(value = "paramName2", required = false, defaultValue = "defaultValue") String paramName2) {
// 方法体
}
在这个例子中,paramName
是必须从请求中获取的参数,而 paramName2
是可选的,如果请求中没有提供,将使用默认值 "defaultValue"。
注意事项
-
如果
required
设置为false
,则即使请求中没有提供对应的参数,也不会抛出异常,而是将参数值设置为null
。 -
当
value
或name
属性没有在请求中匹配到对应的参数时,会抛出MissingServletRequestParameterException
异常。 -
可以使用
@RequestParam
注解的name
和value
属性来指定参数名,两者是等价的。
希望这能帮助你理解 @RequestParam
注解的用法和属性