JSR303——Bean Validation的介绍以及使用

JSR303——Bean Validation的介绍以及使用

JSR是Java Specification Requests的缩写,意思是Java 规范提案,是Java的一个重要标准。
JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现 。

一、如何使用?

1.给实体类添加校验注解

JSR303——Bean Validation的介绍以及使用_第1张图片
图中是这个包下所有能用的校验注解,用法参考如下代码

@Data
@TableName("pms_brand")
public class BrandEntity implements Serializable {
     
	private static final long serialVersionUID = 1L;

	/**
	 * 品牌id
	 */
	@TableId
	private Long brandId;
	/**
	 * 品牌名
	 */
	@NotBlank(message = "品牌名不可为空")
	private String name;
	/**
	 * 品牌logo地址
	 */
	@NotBlank
	@URL(message = "logo必须是一个合法的url地址")
	private String logo;

org.hibernate.validator.constraints这个包是Hibernate所提供的注解,里面的内容更加丰富。

2.开启校验功能

在使用到这个实体类前面添加@Valid这个注解,校验错误之后会有官方默认的一个message,可以在添加校验注解时对这个message自定义。

JSR303——Bean Validation的介绍以及使用_第2张图片

3.在校验的实体类后面紧跟一个BindingResult, 就可以获取到这个实体类的校验结果。

JSR303——Bean Validation的介绍以及使用_第3张图片
我们在校验成功时才会执行接下来的业务,如果校验不成功,就可以获取所有校验失败的字段,从而返回一个错误信息给前端。

总结

如果每一个Controller中的方法都需要这样处理异常,代码就变得非常冗余,所以最好对所有的异常进行统一处理。可以参考下一篇文章。

你可能感兴趣的:(java学习笔记,spring,boot,java)