zoukankan      html  css  js  c++  java
  • springboot---->springboot中的校验器(一)

      这里面我们简单的学习一下springboot中关于数据格式化的使用。冬天花败,春暖花开,有人离去,有人归来。

    springboot中的校验器

    我们的测试环境是springboot,对请求的person数据先做转换再校验。

    一、我们定义的实体Bean类Person

    package com.linux.huhx.learn.converter;
    
    import javax.validation.constraints.Min;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;
    import java.io.Serializable;
    
    /**
     * @Author: huhx
     * @Date: 2017-12-15 下午 3:30
     * @Desc: 实体类
     */
    public class Person implements Serializable {
        @NotNull(message = "用户名不能为空")
        @Size(min = 3, message = "用户名的长度小于3位")
        private String username;
        private String password;
    
        @Min(value = 18, message = "用户的年龄不能小于18")
        private int age;
    
        public Person(String username, String password, int age) {
            this.username = username;
            this.password = password;
            this.age = age;
        }
    
      // ..get set
    }

    二、我们的检验控制器类

    package com.linux.huhx.learn.converter;
    
    import com.linux.huhx.exception.MaxRunTimeException;
    import org.springframework.validation.BindingResult;
    import org.springframework.validation.ObjectError;
    import org.springframework.web.bind.annotation.PostMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import javax.validation.Valid;
    
    /**
     * @Author: huhx
     * @Date: 2017-12-15 下午 3:46
     * @Desc: 测试springboot中自定义类型转换器
     */
    
    @RestController
    @RequestMapping("/converter")
    public class PersonConverterAction {
    
        @PostMapping("/person")
        public Person convertrStringToPerson(@Valid Person person, BindingResult bindingResult) {
            if (bindingResult.hasErrors()) {
                for (ObjectError error : bindingResult.getAllErrors()) {
                    throw new MaxRunTimeException(error.getDefaultMessage());
                }
            }
            return person;
        }
    }

    通过postman发送post的请求:http://localhost:9998/converter/person。

    返回的数据:

    {
        "timestamp": 1513336242870,
        "status": 500,
        "error": "Internal Server Error",
        "exception": "com.linux.huhx.exception.MaxRunTimeException",
        "message": "用户的年龄不能小于18",
        "path": "/converter/person"
    }

    友情链接

  • 相关阅读:
    Python Web框架Django (三)
    谷歌把域名标记为不安全的解决办法
    tkmybatis VS mybatisplus
    jdbc预编译实现方式
    分析mybatis中 #{} 和${}的区别
    实体类id的几种生成方式
    java 获取mac地址
    javafx 表格某一列设置未复选框
    关闭在chrome里使用双指前进后退页面的功能
    调试maven源代码
  • 原文地址:https://www.cnblogs.com/huhx/p/baseusespringbootvalidate1.html
Copyright © 2011-2022 走看看