需求比較簡單,就是當輸入的引數不是期望的內容的時候,需要伺服器返回錯誤資訊。
比如:
SpringBoot提供了資料校驗工具,需要在pom。xml中引入:
之後我們需要修改實體類Poll,新增相關的引數校驗:
這裡面主要使用了@NotEmpty(message = “要投票問題不能為空”)實現校驗欄位不能為空,是一個必填引數;使用@Size(min = 2, max = 6)控制資料的長度。
之後我們需要新增一個dto。error。ValidationError。java,用於表示驗證錯誤:
然後,我們修改dto。error。ErrorDetail。java,展示欄位校驗錯誤資訊:
修改handler。RestExceptionHandler。java,捕獲並處理引數校驗異常資訊:
修改controller。PollController。java,使用@Valid校驗前端傳遞過來的資料,如果校驗失敗,會自動觸發引數校驗異常:
修改後的controller。PollController。java完整程式碼如下:
啟動服務,使用apifox傳送請求校驗,請求裡面不要寫任何內容: