一:报错
@ResponseBody
@RequestMapping("/save")public String saveToken(HttpServletRequest request, HttpServletResponse response, @RequestParam String token){*********}
指定了请求参数,前段未传token参数过来,会报错
报错信息:HTTP Status 400 - Required String parameter 'token' is not present
二:解决方式
可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传
- // required=false表示不传的话,会给参数赋值为null,required=true就是必须要有
-
@ResponseBody @RequestMapping("/save") public String saveToken(HttpServletRequest request, HttpServletResponse response, @RequestParam(value="token", required = false) String token) {}
三:使用的坑
@RequestMapping("testRequestParam")
public String filesUpload(@RequestParam(value="aa", required=true) String inputStr, @RequestParam(value="inputInt", required=false) int inputInt ,HttpServletRequest request) { return "index";}
public String filesUpload(@RequestParam(value="aa", required=true) String inputStr, @RequestParam(value="inputInt", required=false) int inputInt ,HttpServletRequest request) { return "index";}
解决方法:
“Consider declaring it as object wrapper for the corresponding primitive type.”建议使用包装类型代替基本类型,如使用“Integer”代替“int”