檢驗controller的入參是否符合我們的規範,@Valid與@Validated

  • 2019 年 11 月 13 日
  • 筆記

版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。

本文鏈接:https://blog.csdn.net/weixin_43126117/article/details/103038029

我們編寫Controller層時,經常需要前端傳入 參數,我們使用@BodyRequest填充為我們需要的對象。但是這個填充的過程,需要效驗這些參數是否合法,如:手機號碼21234567890 明明不合法的,通過http的客戶端傳入此類非法請求,前端過濾不了的,所以需要我們後端再次進行過濾。

@RequestBody註解用於讀取http請求的內容(字符串),通過springmvc提供的HttpMessageConverter接口將讀到的內容(json數據)轉換為java對象並綁定到Controller方法的參數上。

@Valid為標準JSR-303規範,@Validated是spring封裝好的實現。這兩個註解就可以幫助我們效驗參數。

詳細的請看下面這幾篇文章:

使用spring validation完成數據後端校驗

@Validated和@Valid區別:Spring validation驗證框架對入參實體進行嵌套驗證必須在相應屬性(字段)加上@Valid而不是@Validated