欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot項目javax.validation使用方法詳解

 更新時間:2020年04月28日 11:26:26   作者:Terry  
這篇文章主要介紹了Springboot項目javax.validation使用方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

javax.validation 是基于JSR-303標準開發(fā)出來的,使用注解方式實現(xiàn),及其方便,但是這只是一個接口,沒有具體實現(xiàn)。

Hibernate-Validator是一個hibernate獨立的包,可以直接引用,他實現(xiàn)了javax.validation同時有做了擴展,比較強大。SpringBoot在內(nèi)部集成了hibernate-validation,可以直接使用。

常用注解:

代碼 說明
@Null 被注解的元素必須為null
@NotNull 被注解的元素必須不為null
@AssertTrue 被注解的元素必須為true
@AssertFalse 被注解的元素必須為false
@Min(value) 被注解的元素必須為數(shù)字,其值必須大于等于最小值
@Max(value) 被注解的元素必須為數(shù)字,其值必須小于等于最小值
@Size(max,min) 被注解的元素的大小必須在指定范圍內(nèi)
@Past 被注解的元素必須為過去的一個時間
@Future 被注解的元素必須為未來的一個時間
@Pattern 被注解的元素必須符合指定的正則表達式

bean

package me.yanand.pojo;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
public class User {
  @NotBlank(message = "姓名不能為空")
  private String name;
  @NotNull(message = "年齡不能為空")
  @Max(value = 100,message = "年齡太大")
  private Integer age;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public Integer getAge() {
    return age;
  }
  public void setAge(Integer age) {
    this.age = age;
  }

controller

package me.yanand.controller;
import me.yanand.pojo.User;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
@RestController
public class TestController {
  @RequestMapping("/")
  String hello(@RequestBody @Valid User user, BindingResult bindingResult){
    if(bindingResult.hasErrors()){
      return bindingResult.getFieldError().getDefaultMessage();
    }
    return "ok";
  }
}

postman請求

@Valid 和 BindingResult 是一一對應的,如果有多個@Valid,那么每個@Valid后面跟著的BindingResult就是這個@Valid的驗證結(jié)果,順序不能亂

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 關于MyBatis通用Mapper@Table注解使用的注意點

    關于MyBatis通用Mapper@Table注解使用的注意點

    這篇文章主要介紹了關于MyBatis通用Mapper@Table注解使用的注意點,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java集合遍歷的幾種方式總結(jié)及詳細比較

    java集合遍歷的幾種方式總結(jié)及詳細比較

    下面小編就為大家?guī)硪黄猨ava集合遍歷的幾種方式總結(jié)及詳細比較。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • 解決Java壓縮zip異常java.util.zip.ZipException:duplicate entry:問題

    解決Java壓縮zip異常java.util.zip.ZipException:duplicate entry

    這篇文章主要介紹了解決Java壓縮zip異常java.util.zip.ZipException:duplicate entry:問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 解決IDEA報錯Failed?to?start?bean‘documentationPluginsBootstrapper‘問題

    解決IDEA報錯Failed?to?start?bean‘documentationPluginsBootstra

    這篇文章主要介紹了解決IDEA報錯Failed?to?start?bean‘documentationPluginsBootstrapper‘問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Java多線程阻塞與喚醒代碼示例

    Java多線程阻塞與喚醒代碼示例

    本文主要向大家分享了Java多線程中的阻塞與喚醒的相關內(nèi)容,通過這篇文章大家可以大致了解到進入線程阻塞狀態(tài)和可執(zhí)行狀態(tài)的方法,需要的朋友可以了解下。
    2017-09-09
  • Java實現(xiàn)推箱子游戲

    Java實現(xiàn)推箱子游戲

    這篇文章主要為大家詳細介紹了Java實現(xiàn)推箱子游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 一文帶你搞懂Java中線程的創(chuàng)建方式

    一文帶你搞懂Java中線程的創(chuàng)建方式

    這篇文章主要為大家詳細介紹了Java中線程的創(chuàng)建方式的相關知識,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解一下
    2023-03-03
  • java  interface 接口的使用好處分析

    java interface 接口的使用好處分析

    這篇文章主要介紹了java interface 接口的使用好處,結(jié)合實例形式分析了java interface接口的功能、基本使用方法及多態(tài)性的使用優(yōu)點,需要的朋友可以參考下
    2019-11-11
  • maven快速生成SpringBoot打包文件的方法步驟

    maven快速生成SpringBoot打包文件的方法步驟

    本文主要介紹了使用Maven快速生成SpringBoot項目打包文件的方法,包括如何生成可執(zhí)行的JAR文件,如何將配置文件、運行腳本、調(diào)試腳本、證書文件等拷貝到指定目錄,及如何編譯出部署包,這種方法能大大方便微服務的部署,提高部署效率
    2024-10-10
  • mybatis 使用jdbc.properties文件設置不起作用的解決方法

    mybatis 使用jdbc.properties文件設置不起作用的解決方法

    這篇文章主要介紹了mybatis 使用jdbc.properties文件設置不起作用的解決方法,需要的朋友可以參考下
    2018-03-03

最新評論