required string parameter 'XXX'is not present 的几种解决方法


今天前端js里调用后端的方法,出现了required string parameter的错误,再次记录一下解决方法!

前端的调用如下

后端控制层代码如下:

修改后端代码:

查询了网上大佬出现这种情况的几种解决方式,本问题为此情况(前端表单参数传递为json字符串,后端接收需要添加@responseBody注解使返回结果为json格式

还有几种情况,暂时没遇到,也查阅大佬们的信息记录在这里:

  • 情况一:原因是由于头文件类型不对,可以在MediaType中选择合适的类型,例如GET和POST

  • 情况二:jquery提交delete时,不支持@RequestParam,只支持@PathVariable形式

  • 情况三:若api在调用的时候,如果存在重类型,但不重名;例如:/id与/name,两者在类型上是一样的

  • 情况四:这里提示Required String parameter 'XXX' is not present并不一定是XXX的错,也有可能是后面的参数错误。总的来说就是页面传递的参数和后台接受参数名自不匹配。
    (例如:前端表单参数传递为json字符串,后端接收需要添加@responseBody注解使返回结果为json格式)

  • 情况五:传递的参数里面包含特殊符号,比如前台传递字符串不能包含逗号等。(待证明)

  • 情况六:传的参数是undefined;

至此结束,感谢各位大佬阅读!

相关