• 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"
    }

    友情链接

  • 相关阅读:
    Linux内核异常处理体系结构详解(一)【转】
    一则利用内核漏洞获取root权限的案例【转】
    linux tracepoint用法【转】
    实现PC视频播放最强画质教程( Potplayer播放器+MADVR插件)【转】
    getopt_long函数使用【转】
    用Qemu运行/调试arm linux【转】
    linux内核input子系统解析【转】
    Linux input子系统 io控制字段【转】
    Linux设备树语法详解【转】
    of_alias_get_id 函数与设备树中aliases节点的关系【转】
  • 原文地址:https://www.cnblogs.com/huhx/p/baseusespringbootvalidate1.html
Copyright © 2020-2023  润新知