springboot-@RequestParam接收参数的六种形式
1.前言
springboot 中接收参数的注解有 @ApiParam、@RequestBody、 @RequestParam、HttpServletRequest 等,下面列举@RequestParam注解的几种使用方法。
2.如何接收客户端查询参数
//请求原始类型,可以取到客户端传来的所有类型参数
@GetMapping("/test")
public String test1(HttpServletRequest request){
String id = request.getParameter("id");
return "id="+id;
}
//不使用@RequestParam注解时,id参数可传可不传,方法都可以执行
@GetMapping("/test")
public String test12(String id){
return "id="+id;
}
//id参数可传可不传,方法都可以执行
@GetMapping("/test")
public String test123(@RequestParam(required = false) String id){
return "id="+id;
}
//此时id参数为必传,否则方法不执行
//不传报错报错:Required String parameter 'id' is not present
@GetMapping("/test")
public String test1234(@RequestParam String id){
return "id="+id;
}
//不传id参数时,默认值是123
@GetMapping("/test")
public String test12345(@RequestParam(defaultValue = "123") String id){
return "id="+id;
}
//z注解的name、value属性为参数名,查询参数名为userid时,方法的形参id才有只
@GetMapping("/test")
public String test123456(@RequestParam(name = "userid") String id){
return "id="+id;
}
总结
当出现Required String parameter ‘id’ is not present异常时,可以通过修改@RequestParam注解属性试下,不好使的化可以将注解删除试试。
|