跳至內容

@validated註解

更新時間
快连VPN:速度和安全性最佳的VPN服务
快连VPN:速度和安全性最佳的VPN服务
@validated註解可用於驗證控制器方法參數和返回值,使用方式:指定驗證規則:將規則指定在實體類中。使用@validated註解:在控制器方法參數前添加@validated註解。指定參數:使用@requestbody、@pathvariable等註解指定需要驗證的參數。錯誤處理:驗證失敗時自動返回400響應,包含從message屬性獲取的錯誤信息。

@Validated註解:詳解

@Validated註解概述

@Validated註解用於驗證控制器方法參數和返回值,它可以簡化驗證過程,並增強代碼的可維護性。

用途

@Validated註解主要用於以下場景:

  • 驗證請求參數的正確性
  • 驗證響應數據的合法性
  • 跨方法和類共享驗證規則

使用方式

使用@Validated註解只需指定兩個參數:

@PostMapping(path = "/submit")public ResponseEntity<Object> process(@Validated @RequestBody MyRequestBody body) {    // ...業務邏輯}
登錄後複製

其中:

  • @RequestBody註解表示請求體將被綁定到MyRequestBody參數
  • @Validated註解表示對MyRequestBody參數進行驗證

驗證規則指定

驗證規則可以指定在MyRequestBody類中的字段上:

public class MyRequestBody {    @NotNull(message = "姓名不能爲空")    private String name;        @Email(message = "郵箱格式不正確")    private String email;}
登錄後複製

錯誤處理

如果驗證失敗,Spring Boot會自動返回一個400 Bad Request錯誤響應,其中包含錯誤信息的JSON。錯誤信息可以從@Validated註解中指定的message屬性中獲取。

優點

  • 簡化驗證過程:無需在控制器方法中手動進行驗證,只需使用@Validated註解即可。
  • 增強可維護性:驗證規則集中在實體類中,便於維護和複用。
  • 一致性:確保控制器方法和實體類之間的驗證規則保持一致。

其他注意事項

  • @Validated註解只能與具有BindingResult類型的參數一起使用,以存儲驗證結果。
  • 可以通過Validator接口自定義驗證規則。
  • 可以使用@RequestBody、@PathVariable、@RequestParam、@RequestHeader等註解指定需要驗證的參數。

以上就是@validated註解的詳細內容,更多請關注本站其它相關文章!

更新時間

發表留言

請注意,留言須先通過審核才能發佈。