@RequestParam(“ids“) Long id详解
@RequestParam(“ids”) Long id` 是 Spring MVC 中用于从 HTTP 请求中提取参数的注解。让我们详细解释一下这个注解及其用法:
1. @RequestParam
注解
@RequestParam
是 Spring MVC 提供的一个注解,用于将请求参数绑定到控制器方法的参数上。它可以从 GET 或 POST 请求的查询字符串、表单数据或其他请求体中提取参数值。
2. 注解属性
- value:指定请求参数的名称。这是一个必填属性,用于匹配请求参数名。
- required:指定该参数是否必须存在,默认为
true
。如果设置为false
,则即使请求中没有该参数,也不会抛出异常。 - defaultValue:指定该参数的默认值,如果请求中没有提供该参数,则使用默认值。
3. 示例代码
@RequestParam("ids") Long id
详细解释
-
@RequestParam("ids")
:value = "ids"
:表示从请求中提取名为ids
的参数。- 如果请求中没有提供
ids
参数,Spring MVC 会抛出MissingServletRequestParameterException
异常,因为required
默认为true
。
-
Long id
:- 这是方法参数,类型为
Long
,表示提取的参数值将被转换为Long
类型。 - 如果请求中的
ids
参数值不能被转换为Long
类型,Spring MVC 会抛出TypeMismatchException
异常。
- 这是方法参数,类型为
示例请求
假设你的控制器方法如下:
@DeleteMapping("/delete")
public R<String> delete(@RequestParam("ids") Long id) {
categoryService.removeById(id);
return R.success("分类信息删除成功");
}
GET 请求示例
DELETE /delete?ids=123
- 在这个请求中,
ids
参数的值为123
,Spring MVC 会将其转换为Long
类型,并绑定到方法参数id
上。
POST 请求示例
POST /delete
Content-Type: application/x-www-form-urlencoded
ids=123
- 在这个请求中,
ids
参数的值同样为123
,Spring MVC 会将其转换为Long
类型,并绑定到方法参数id
上。
注意事项
-
参数名称匹配:
- 确保请求中的参数名称与
@RequestParam
注解中的value
属性完全匹配。 - 例如,如果注解是
@RequestParam("ids")
,请求中必须包含ids
参数。
- 确保请求中的参数名称与
-
参数类型转换:
- 如果请求中的参数值不能被转换为目标类型(如
Long
),Spring MVC 会抛出TypeMismatchException
异常。 - 你可以使用
@RequestParam
的defaultValue
属性来提供一个默认值,以防请求中没有提供该参数。
- 如果请求中的参数值不能被转换为目标类型(如
-
可选参数:
- 如果参数是可选的,可以将
@RequestParam
的required
属性设置为false
,并提供一个默认值或处理null
值的情况。
@RequestParam(value = "ids", required = false, defaultValue = "0") Long id
- 如果参数是可选的,可以将
总结
@RequestParam("ids") Long id
注解用于从 HTTP 请求中提取名为 ids
的参数,并将其转换为 Long
类型,绑定到控制器方法的参数 id
上。通过这种方式,可以方便地从请求中获取和处理参数值。
原文地址:https://blog.csdn.net/qq_43518966/article/details/144142149
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!