@RequestParam和@PathVariable能一起用吗?
@RequestParam和@PathVariable一起使用时,访问 /page 和/page/123456 ,number无论如何都是1, 这是为啥?
//测试
@GetMapping({"/page","/page/{number}"})
@ResponseBody
public String paging(@RequestParam(defaultValue = "1",required = false)@PathVariable(value = "number",required = false) int number){
System.out.println("当前是第 :"+number + " 页");
return "";
}
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
GET /page/1234?number=456
这里面,1234对应@PathVariable
number=456对应@RequestParam。
@PathVariable
和@RequestParam
参数形式都是number
,这种情况有点复杂化了,一般不要这么做,至少参数名不要一样。GET /page 或 /page/1234,方法体中取的是
@RequestParam
,?number=
为空,取默认值1,@PathVariable
的参数其实被spring丢弃了。