今天前端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;