@RequestParam注解加与不加有什么区别

1.背景

在接收请求中的参数时,我们常常会使用到@RequestParam注解.

但是有时候却发现,好像不加这个注解也能正常接收到参数?

2.区别

现在有两个方法

请求 "/out1" 不带注解

请求 "/out2" 带上了@RequestParam注解

AD06071E-5BE4-B666-DAE6-A445C83B0781.png

在浏览器中直接访问out1与out2

out1输出null

out2报错

5BF8D701-72E0-91AE-30C6-2FD5DA413679.png

182F1D6C-9F19-AC49-F4D6-D1F45CFABF5A.png

加上了注解 必须指明参数才能正常访问

9F5CC0C0-0095-137C-5520-1A138D45F448.png

3.扩展

在使用@RequestParam注解时,常见以下属性.

1.defaultValue 设置默认值

2B02C95E-7751-BAB8-DAD2-5DC79B4F9625.png

正常访问

9428B33B-8DD1-1086-EEAA-E0AC27E5F8D2.png7D4562CB-F7EE-618D-F2BA-6923F3A779DA.png

2.value 更改参数名字

在不指明请求中参数名字时,默认会与形参名字对应.

现在加上了value属性

276EE69D-C52B-7F5B-858E-EE798F4C7931.png

再次访问,参数名为str时,显示的是默认值hello.

0BA7127E-A50F-0F87-E93C-041B63D99D00.png

改变为name,则可以正常接收.

72DA83BF-F4D8-1A62-DB32-99DAFB341A25.png

注意与默认时一样,参数名是大小写敏感的.

837AD1C9-90CC-37BF-A9D8-8FDF1DB64D74.png

收藏 (0)
评论列表
正在载入评论列表...
我是有底线的