热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Springboot项目javax.validation使用方法详解

这篇文章主要介绍了Springboot项目javax.validation使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

javax.validation 是基于JSR-303标准开发出来的,使用注解方式实现,及其方便,但是这只是一个接口,没有具体实现。

Hibernate-Validator是一个hibernate独立的包,可以直接引用,他实现了javax.validation同时有做了扩展,比较强大。SpringBoot在内部集成了hibernate-validation,可以直接使用。

常用注解:

代码 说明
@Null 被注解的元素必须为null
@NotNull 被注解的元素必须不为null
@AssertTrue 被注解的元素必须为true
@AssertFalse 被注解的元素必须为false
@Min(value) 被注解的元素必须为数字,其值必须大于等于最小值
@Max(value) 被注解的元素必须为数字,其值必须小于等于最小值
@Size(max,min) 被注解的元素的大小必须在指定范围内
@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的验证结果,顺序不能乱

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • 软件测试对于减少程序BUG有多大帮助?有经验的程序员通常认为测试与代码同等重要,测试可以减少代码变更或扩展的不确定性。测试应该方便阅读简单且能快速运行 ... [详细]
  • postman下载安装教程
    Postman是一款强大网页接口调试工具,我们在平时开发过程中经常会使用到,一般使用最多的是postman的客户端,实际上postman在谷歌浏览器上也提供了插件,可以不必要安装客 ... [详细]
  • 一、介绍:在测试和开发中,有一款API测试工具一直占据着武林盟主的地位,那就是声名远播的Google公司的Postman。Postman原先是Chrome浏览器的一个插件,后面发展 ... [详细]
  • postmain报400_Postman测试@RequestBody发送请求时报400错误
    postman测试requestbody时碰到400错误图1原因:传参数如果不使用RequestBody,在使用Postman进行Post请求时,通常做 ... [详细]
  • Postman 调试 WebService
    Postman调试WebServiceWebServicePostman设置Headers请求头参数Body请求体传参返回结果WebService天气预报Web服务http:ww ... [详细]
  • PostmanforMac是一款老牌的API开发协作平台。帮助您简化构建API的每个步骤并简化协作,以便您可以更快地创建更好的API。Postman下载https: ... [详细]
  • 第一步:通过浏览器获取到接口url的请求参数,如下图的RequestPayload将此处的json请求粘贴出来;第二步,可 ... [详细]
  • postman参数配置
    一、postman概述1.1定义1、postman:一款功能强大的网页调试与发送网页HTTP请求的工具。2、测试集合collection:collection可以看作是reques ... [详细]
  • 测试工程师_成功转行软件测试工程师,年薪30W+,经验总结都在这
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了成功转行软件测试工程师,年薪30W+,经验总结都在这相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 计算器中的e表示10的幂,即表示以10为底的指数,比如1.99714E13就等于19971400000000;把一个数表示成a与10的n次幂相乘的形式,这种记数法叫做科学记数法;当 ... [详细]
  • 性能测试对于“用户基数大、并发峰值高、业务链复杂、系统更新快”的互联网企业来说,是软件生命周期里至关重要的一环。无论是大型电商促销活动如“淘宝双11”、“京东618”等极限峰值业务 ... [详细]
  • Python爬取小姐姐内衣信息,寻找妹纸们的偏好
    今天继续来分析爬虫数据分析文章,一起来看看网易严选商品评论的获取和分析。警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团 ... [详细]
  • axios 前端请求接口 跨域问题 Vue实现跨域请求
    在前端写接口请求的时候,遇到了跨域的问题。(在一个项目工程中通过接口请求另一个项目工程中的数据)通过在线api测试 https:getman.cn或者postman接口测试工具,都 ... [详细]
  • 在咱们对API进行调试的时候,绝大部分状况都会用到Postman。上面这篇文章介绍了Postman在Windows中的装置过程。首先请拜访地址: DownloadPostman|TryPostmanforFree 下载最新的Postman安装程序。当初的Postman也越做越大了,大抵有115MB。双击运行程序当下载实现后,双击运行程序来进行装置。随后将 ... [详细]
  • 爬虫python需要什么软件Python爬虫需要学习那些东西?
    基础爬虫过程基础的爬虫其实很简单的,主要过程就是:发送请求,并获取响应数据;解析响应数据,获取想要的那部分 ... [详细]
author-avatar
yilande
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有