精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

使用Springboot怎么進行參數校驗

本篇文章為大家展示了使用Spring boot怎么進行參數校驗,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

網站建設哪家好,找創新互聯!專注于網頁設計、網站建設、微信開發、微信小程序開發、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了象州免費建站歡迎大家使用!

使用注解進行校驗

先定義一個form的封裝對象

class RequestForm {
  @Size(min = 1, max = 5)
  private String name;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
}

其中name這個字段用Size注解限制長度1到5。Size是javax.validation包中的constraint注解。

 在使用時用@Valid注解表示要校驗這個bean。

  @ResponseBody
  @GetMapping(value = "bean")
  public String validate(@Valid RequestForm request) {
    System.out.println(request.getName());
    return "OK";
  }

自定義注解

如果內置的注解不夠用,可以自定義注解。

 比如先定義一個注解NameConstraint,限制name字段只能從特定數據中選取。

@Target({ ElementType.FIELD, ElementType.PARAMETER })
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = NameConstraintValidator.class)
@interface NameConstraint {
  String[] allowedValues();
  Class[] groups() default {};
  Class[] payload() default {};
  String message();
}

其中allowedValues表示合法的取值范圍,message是校驗失敗的顯示信息。

message、groups、payload是hibernate validator要求的字段,想了解的請看官方文檔

 再定義一個validator做真正的校驗

class NameConstraintValidator implements ConstraintValidator {
  private String[] validValues;
  @Override
  public void initialize(NameConstraint constraintAnnotation) {
    validValues = constraintAnnotation.allowedValues();
  }
  @Override
  public boolean isValid(String value, ConstraintValidatorContext context) {
    for (String s : this.validValues) {
      if (s.equals(value)) {
        return true;
      }
    }
    return false;
  }
}

在form bean中按如下方式使用

class RequestFormWithCustomConstraint {
  @NameConstraint(allowedValues = { "bar", "foo" }, message = "只允許bar,foo")
  private String name;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
}

直接校驗參數

只有一個name字段,不想封裝一個對象怎么辦?可以直接校驗該參數

@Controller
@Validated
@RequestMapping(value = "validator")
public class ParameterValidatorDemoController {
  @ResponseBody
  @GetMapping(value = "simple")
  public String validateParameter(@Size(min = 1, max = 5) String name) {
    System.out.println(name);
    return "OK";
  }
}

springboot是什么

springboot一種全新的編程規范,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程,SpringBoot也是一個服務于框架的框架,服務范圍是簡化配置文件。

上述內容就是使用Spring boot怎么進行參數校驗,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。


網站欄目:使用Springboot怎么進行參數校驗
URL標題:http://m.jcarcd.cn/article/iigpdd.html
主站蜘蛛池模板: 欧美日韩国产58香 | 国产精品酒店在线 | 中文字幕无吗热视频 | 九九九亚洲精品 | 国产欧美国日产综合 | 日本免费综合中文 | 国产在线观看www | 精品日本一区 | 欧美日韩一级无毛 | 日韩午夜福| 欧美日韩一区二区一 | 日韩国产欧 | 午夜国产在线观看 | 无码av天堂一区二区三区 | 精品免费中文字幕 | 国产老熟女狂叫对白 | 日本一丰满一bbw | 无码帝国www无码专 无码电影免费黄网站 | 日本乱理伦片在线观 | 日韩一区二线视频 | 国产亚洲欧美在线 | 三区免费高清视 | 国产精品视频顷一区 | 日韩中文视 | 青青草精品在线视 | 无码精品人妻一区二区三区影院 | 国产精品第1页 | 欧美日韩国产在线一 | 国产97在线看 | 乱子伦在线观看 | 日韩精品免费 | 国产精美 | 午夜成人看片日韩 | 日本一卡二卡三 | 欧美三级在线视频 | 国产精品合集一三 | 乱子伦精品视频 | 最新国产人妖ts视频 | 欧美日韩综合一区 | 无码精品国产一区二区三区免费 | www黄在线观看 |