当前位置:   article > 正文

springboot请求参数解析

springboot请求参数解析

@PathVariable

get和post皆可,用来获取路径中的参数,必须带上@PathVariable

 @RequestMapping("/test/{id}")
 public String test(@PathVariable Integer id)
 {
 	return Integer.toString(id);
 }
  • 1
  • 2
  • 3
  • 4
  • 5

如果参数名字不一样,加上参数@PathVariable(value = “idd”)

 @RequestMapping("/test/{idd}")
 public String test(@PathVariable(value="idd") Integer id)
 {
 	return Integer.toString(id);
 }
  • 1
  • 2
  • 3
  • 4
  • 5

@RequestParam

这也是默认的请求方式,

如果写了@RequestParam,则必须传对应的对象

如果没写@RequestParam,就会自由很多,前端只用传username,就会自动放入到user.username

@GetMapping("/selectAll")
public Result selectAll(User user) {  //如果前端传参数username,它会自动加入user
    List<User> list = userService.selectAll(user);
    return Result.success(list);
}
  • 1
  • 2
  • 3
  • 4
  • 5

这也是post表单的请求方式

get和post皆可RequestParam都行

@RequestMapping("/test")
public String test(@RequestParam(value = "idd", required = false)  Integer id)
{
    return Integer.toString(id);
}
  • 1
  • 2
  • 3
  • 4
  • 5

除了 value 属性外,还有个两个属性比较常用:
required 属性:true 表示该参数必须要传,否则就会报 404 错误,false 表示可有可无。
defaultValue 属性:默认值,表示如果请求中没有同名参数时的默认值。

区别

主要区别在于:

@PathValiable 是从 url 模板中获取参数值, 即这种风格的 url: http://localhost:8080/user/{id} ; @RequestParam 是从 request 里面获取参数值,即这种风格的ur:lhttp://localhost:8080/user?id=1

@RequestBody

get和post皆可

用于接收前端传来的实体,接收参数也是对应的实体

@RequestMapping("/test")
public HashMap test(@RequestBody HashMap<String,String>mp)
{
    return mp;
}
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/568505
推荐阅读
相关标签
  

闽ICP备14008679号