報錯信息如下:
[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進行獲取參數;