关于@RequestParam 和@PathVariable以及@Param

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于@RequestParam 和@PathVariable以及@Param相关的知识,希望对你有一定的参考价值。

参考技术A 接下来实验:

请求url为: http://localhost:8099/user/login.do?user=123&password=456 时,可以正常请求user对应接口中的username参数

请求url为: http://localhost:8099/user/login.do?user=123&password=456 时
如果用map作为接口的参数,是接收不到url传过来的参数的,此时size为0,加上@RequestParam后,size为2

接下来同样实验

请求url为: http://localhost:8099/user/pathvariable/login3.do?username=123&password=456
此时pathvariable对应@RequestMapping中的type,可以看到控制台正确打印了三个变量

上code

总结:
@RequestParam和@PathVariable都是作用于controller层,@RequestParam于请求参数对应,而@PathVariable是于URI中的模版参数匹配
至于@Param 参数作用于Dao层,与xml中的参数相匹配

自己想了下,既然@RequestParam和@Param都是作用参数,为什同样在controller的化,@Param就不起作用,他们的注解是根据哪个区分作用域的?

以上是关于关于@RequestParam 和@PathVariable以及@Param的主要内容,如果未能解决你的问题,请参考以下文章

关于@RequestBody 有的时候能接收有的时候接收不了的情况,@RequestParam什么时候使用

@RequestParam注解详细使用

@RequestParam和@RequestBody的区别

@RequestBody和@RequestParam区别

@RequestBody和@RequestParam区别

@RequestBody和@RequestParam区别