SpringBoot解決Required String parameter xxx is not present問題

Required String parameter xxx is not present類型異常

異常報錯

學習Spring Boot的時候做一個簡單的表單提交demo發現一直報錯

Required String parameter 'username' is not present

解決方案

查閱資料很多人遇到的問題是給Controller的

@RequestParam註解補全

@RequestParam(value = “name”, required = false)

後就能解決,但是我這邊這個username參數是必須要的,而且添加瞭還是不能解決問題,最後認真檢查發現原因出在html頁面上的input中的name不小心寫錯瞭~~囧,修正後即可解決問題,

<input type="text" name="username"

Required String parameter‘XXX‘is not present的幾種情況

情況一

  • 原因是由於頭文件類型不對,可以在MediaType中選擇合適的類型,例如GET和POST

情況二

  • jquery提交delete時,不支持@RequestParam,隻支持@PathVariable形式

情況三

  • 若api在調用的時候,如果存在重類型,但不重名;例如:/id與/name,兩者在類型上是一樣的

情況四

  • 這裡提示Required String parameter 'XXX' is not present並不一定是XXX的錯,也有可能是後面的參數錯誤。總的來說就是頁面傳遞的參數和後臺接受參數名自不匹配。

情況五

  • 傳遞的參數裡面包含特殊符號,比如前臺傳遞字符串不能包含逗號等。(待證明)

情況六

  • 傳的參數是undefined;

情況七

  • 換一種請求方式試試,比如現在用的是POST提交方式,改為GET/PUT等其他方式。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: