關於Required String parameter ‘××ב is not present解決方法


 

報錯信息如下:

[org.springframework.web.bind.MissingServletRequestParameterException: Required String parameter ‘××××’ is not present]

 

對於前端傳過來的參數,springboot通常通過如下三個注解接受參數:

@PathVariable

@RequestParam

@RequestBody

 

下面是對三個注解的簡單理解介紹:

注解             支持的類型        支持的請求類型           支持的Content-Type           請求示例

@PathVariable     url               GET                      所有                 /test/{id}
@RequestParam     url               GET                      所有                 /test?id=1
                  Body        POST/PUT/DELETE/PATCH                              form-data或x-www.form-urlencoded     id:1
@RequestBody      Body        POST/PUT/DELETE/PATCH          json                {"id":1}

將接口改成以@RequestBody注解方式接受json請求數據,而后將接收到的json數據轉化為json對象,可以使用json對象的get()方法取得參數值,代碼如下:

@PostMapping("/account")
public Object insertAccount(@RequestBody JSONObject jsonParam) {
    String userName=jsonParam.get("userName").toString()
    ...
}

 

需要注意的是,如果請求類型為delete並且參數類型不是json的話,不能使用通過表單類型提交,參數需要跟到請求url后面,並且后台使用@PathVariable進行獲取參數;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM