老师,我不太明白(value = "n",defaultValue = "ANON")的意思

来源:3-7 接收表单复合数据(下)

幕布斯2414477

2021-01-24 02:43:48

​老师, 这个参数 

@RequestParam(value = "n",defaultValue = "ANON") String name
我没太明白, value="n" 是什么意思, 什么情况下取默认值,和String name又是什么关系?

@PostMapping("/apply")
@ResponseBody
public String apply(@RequestParam(value = "n",defaultValue = "ANON") String name, String course, Integer[] purpose){
System.out.println(name);
System.out.println(course);
for (Integer p : purpose) {
System.out.println(p);
}
return "SUCCESS";
}


写回答

1回答

好帮手慕阿满

2021-01-24

同学你好,这里value="n",表示接收请求参数中,参数名为n的值。如果这里没有value="n",则传入的参数名必须和方法的参数名一致,都是name,否则会接收不到对应的数据。

defaultValue = "ANON"表示如果前台没有传入变量名为n的值,则方法参数name的值默认是ANON。

举例如下:

有如下请求:localhost:8080/apply?n=zhangsan

这时会访问到apply()方法,请求中的参数n=zhangsan就会绑定到String name上。value="n"就是将请求参数的中n的值绑定到对应的变量name上。

如果请求修改为:localhost:8080/apply?a=zhangsan

请求参数中没有变量名为n的参数,方法参数name将会使用默认值ANON。

祝学习愉快~


1

0 学习 · 16556 问题

查看课程