我在做新增功能的時候,做了一個邏輯判斷,當前端沒有傳遞對應的id值時,為新增;有id值時,為修改
問題一、:前端id=undefined,和我的需求不符合,我要id為空,不傳值。最后發現,是id沒有初始化,初始化一下即可解決!!
問題二(重點)、前端不傳值了,但是后端報錯類型不匹配, 即后端接收到前端傳的值是string,但是后端定義的id是Long類型,所以報錯
解決:使用?Map
?靈活接收參數
前端:
api.js:
后端控制層:進行id的類型轉換
注意:請求方式用Post,不用Get,原因:使用?GET
?無法傳遞復雜參數,改為?POST
?并配合?@RequestBody
問題三:報錯Field 'id' doesn't have a default value
原因:數據庫中的id沒有設置自增,導致新增進去的數據沒有對應的id值,報錯
解決:到數據庫中重新設計表,把主鍵自增的選項勾上即可,注意,記得保存!!!
注意:上述操作后,重啟服務器,檢查前端控制臺,數據傳遞值正確,功能實現,后端控制臺無報錯,前端點擊提交后,新增成功!!