昨天在寫一個(gè)自己的小項(xiàng)目,突然遇到一個(gè)問題,GET請(qǐng)求和RequestBody混用的錯(cuò)誤,出現(xiàn)org.springframework.http.converter.HttpMessageNotReadableException
異常,在下方我把錯(cuò)誤截圖附上。但是一個(gè)多小時(shí)沒有解決,于是我當(dāng)晚就放棄了,嘿嘿,當(dāng)然,不是永遠(yuǎn)放棄,到了公司于是繼續(xù)調(diào)試,繼續(xù)百度,突然發(fā)現(xiàn)一個(gè)類似的問題,借鑒網(wǎng)上的資料,于是這個(gè)給出解決方法。
錯(cuò)誤代碼截圖:
image.png
控制器我也給出代碼,方便進(jìn)行對(duì)比:
因?yàn)槭谦@取嘛,我理所當(dāng)然的用了GET請(qǐng)求,但是并不是我想的那么簡(jiǎn)單
@ApiOperation(value ="獲取XX列表",httpMethod = "GET")
@GetMapping(value = "/all")
@ApiResponses(@ApiResponse(code = 500,message = "服務(wù)器響出錯(cuò)",response=Integer.class))
public ResultMsg getXXList( @ApiParam(value = "獲取菜譜條件dto",name = "menuConditionDataObject",required = true)
@RequestBody ConditionDataObject conditionDataObject){
return menuService.getXXList(conditionDataObject);
}
接下來我給出解決方法,方法也很簡(jiǎn)單,只要把GET請(qǐng)求改成POST請(qǐng)求就行了,我也給修改后的代碼:
@ApiOperation(value ="獲取XX列表",httpMethod = "POST")
@PostMapping(value = "/all")
@ApiResponses(@ApiResponse(code = 500,message = "服務(wù)器響出錯(cuò)",response=Integer.class))
public ResultMsg getXXList( @ApiParam(value = "獲取XX條件dto",name = "menuConditionDataObject",required = true)
@RequestBody ConditionDataObject conditionDataObject){
return menuService.getXXList(conditionDataObject);
}
ok,完事,以前遇到問題沒有記錄下來,從現(xiàn)在開始決定把遇到的每一個(gè)問題都記錄下來,一起爬坑。