Spring------SpringMVC中@RequestParam和@PathVariable的区别

9 篇文章 0 订阅
1 篇文章 0 订阅

在SpringMVC中有@RequestParam@PathVariable两个注解,它们都是用来从URL中获取参数,但却是有着很大的区别:

1. @RequestParam:

@RequestParam是用来获取网站URL最后面如 ?xx=yy&zz=ww 形式的参数的,这是HTTP协议中的Request参数。

如百度的:https://baike.baidu.com/item/Java/85979?fr=aladdin 这条URL就往后台传递了fr=aladdin这个参数,然后SpringMVC就会自动把请求参数绑定到方法参数(参数名字匹配的话)

@RequestParam有三个参数:

(1)value:请求参数名(如果不配置则会默认是方法的参数名为请求参数名)如:

(2)required:不是必需的,默认为 true,表示请求的URL中必须给定该参数,如果

没有包含,将会抛出异常

(3)defaultValue:给参数设定默认值,如果设置了该值,required 将自动设为 false,

无论你是否配置了required,配置了什么值,都是 false

总结:@RequestParam就是用来获取URL中以?xx=yy&zz=ww 形式传递的参数。

 

2. @PathVariable:

@PathVariable则是获取如 user/{id}/{name} 格式的参数,这是在RESTful风格域名中一般的传参方式,至于什么是RESTful便不在这里深究了,这种传参风格有点像C语言的占位符,后台通过 "{xxx}" 来定义这个位置的参数,然后访问时占位符映射就可以直接赋值过去了。如:

 

总结:@PathVariable是获取形如 user/{id}/{name} 这般RESTful风格参数的

 


更加具体的分析推荐阅读:

@RequestParam和@PathVariable的用法与区别 https://blog.csdn.net/a15028596338/article/details/84976223

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值