@RequestParam 使用快速了解

@RequestParam 是 Spring MVC 中用来获取请求参数的注解之一。它用于将请求中的参数值绑定到方法的参数上。

@RequestParam 注解有以下几个常用的属性:

  • value:指定要绑定的请求参数的名称。例如,@RequestParam(value = "id") 指定绑定名为 “id” 的请求参数。
  • required:指定该参数是否为必需的,默认为 true。如果设置为 true,但请求中没有包含该参数,则会抛出异常。如果设置为 false,则可以不包含该参数。
  • defaultValue:指定请求参数的默认值。如果请求中没有提供该参数,则使用默认值。
  • namevalue 的别名,用于指定参数名称。
  • paramName:和 name 作用相同,用于指定参数名称。

示例代码:

@GetMapping("/example")        //指定请求参数 id 赋给声明的 int类型的 id 变量
public String exampleMethod(@RequestParam("id") int id, 
	@RequestParam(value = "name", required = false, defaultValue = "Guest") String name) {
    // 在这里可以使用获取到的参数值进行业务逻辑处理
    // ...
    return "example";
}

在上面的例子中,exampleMethod 方法通过 @RequestParam 注解获取了两个请求参数:id 和 name。其中,id 参数是必需的,而 name 参数不是必需的,并且有一个默认值 “Guest”。

这样,在访问 /example?id=123&name=John 的请求中,id 参数将被绑定为整数值 123,name 参数将被绑定为字符串 “John”。如果请求中没有提供 name 参数,则使用默认值 “Guest”。

注意:可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传,此时需要注意如果required=false 前端没传来参数,则自己声明的参数值为 null, 如果参数类型为 int则会报错,所以一般也是定义为 Integer 类型,Integer类型变量默认值为null,也可以区分出赋值和未赋值。


报错

ested exception is java.lang.IllegalStateException: No primary or single unique constructor found for interface java.util.List] with root cause

使用集合 List 接收请求参数时,让springMVC底层处理如何封装数据,SpringMVC默认将List作为对象处理,赋值前先创建对象,由于List是接口,无法创建对象。因此加上 @RequestParam让数据强制匹配

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值