自学内容网 自学内容网

@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 上。

注意事项

  1. 参数名称匹配

    • 确保请求中的参数名称与 @RequestParam 注解中的 value 属性完全匹配。
    • 例如,如果注解是 @RequestParam("ids"),请求中必须包含 ids 参数。
  2. 参数类型转换

    • 如果请求中的参数值不能被转换为目标类型(如 Long),Spring MVC 会抛出 TypeMismatchException 异常。
    • 你可以使用 @RequestParamdefaultValue 属性来提供一个默认值,以防请求中没有提供该参数。
  3. 可选参数

    • 如果参数是可选的,可以将 @RequestParamrequired 属性设置为 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)!