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

    友情链接

  • 相关阅读:
    滑动窗口与选择搜索
    R-CNN,SPP-NET, Fast-R-CNN,Faster-R-CNN, YOLO, SSD, R-FCN系列深度学习检测方法梳理
    GD和SGD区别
    AlexNet、VGG、NIN、GoogLeNet、ResNet
    目标检测中的precision,recall,AP,mAP计算详解
    转:图像分类、物体检测、物体分割、实例分割、语义分割
    卷积网络CNN中各种常见卷积过程
    卷积网络中的通道(Channel)和特征图
    人工智能之卷积神经网络(CNN)
    科技文献检索(一)——课程介绍及信息素养
  • 原文地址:https://www.cnblogs.com/huhx/p/baseusespringbootvalidate1.html
Copyright © 2011-2022 走看看