springboot---->springboot中的校验器(一)
2024-10-11 08:41:16
这里面我们简单的学习一下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": ,
"status": ,
"error": "Internal Server Error",
"exception": "com.linux.huhx.exception.MaxRunTimeException",
"message": "用户的年龄不能小于18",
"path": "/converter/person"
}
友情链接
最新文章
- 【iOS】彩色TabBar切换动画实现
- GoLang之网络
- [已解决]EnvironmentError: mysql_config not found
- rm 注意
- (转)Android获取手机信息
- NFS(网络文件系统的搭建)
- 理解ROS的参数
- Git安装及基本使用
- Windows Phone开发(25):启动器与选择器之WebBrowserTask
- 怎么给当前点击的a标签添加一个样式(跳转页面后)
- RedHat 7 常用命令总结
- LNMP安装目录及配置文件位置
- 使用getline输入一行字符串
- hadoop集群完全分布式搭建
- vue+vux scrollTop无法实现定位到具体dom
- 【Android】录音-amr音频录制
- Linux命令详解-help
- java基础之while循环练习(2)
- 20155207王雪纯 《Java程序设计》实验三 敏捷开发与XP实践 实验报告
- redis 安装与php扩展