在springboot后端开发中常需要对前端传参进行校验,如果全部放在Controller或者Service中,会让代码看起来非常的冗余,这个时候直接在传参上加上约束注解就很方便实用,简单总结了一下常用的注解及其实用的场景。
- @NotNull: Integer、Bigdecimal、LocalDateTime、LocalDate、实体类
- @NotBlank: String
- @NotEmpty: List
- @Size: 字符串长度限制
- @Future: 未来时间,LocalDateTime、LocalDate
- @Past: 过去时间,LocalDateTime、LocalDate
- @DecimalMin: Bigdecimal最小值
- @DecimalMax: Bigdecimal最大值
- @Max: Integer最大值
- @Min: Integer最小值
- @Pattern: 正则表达式校验
例如:
@NotBlank(message = "新密码不能为空")
@Pattern(regexp = RegularUtilS.REG_PASSWORD, message = "新密码6-15个字符,只能数字、标点符号、字母")
private String newPassword;
@Future(message = "开始时间必须是将来时间")
@NotNull(message = "开始时间不能为空")
private LocalDateTime startTime;
@NotNull(message = "余额升不能为空")
@DecimalMin(value = "0.01", message = "余额升最小为0.01")
@DecimalMax(value = "100", message = "余额升最大为100")
@ApiModelProperty(value = "余额升", example = "10")
private BigDecimal balance;
@NotNull(message = "最大购票数必填")
@Min(value = 0, message = "最小购票数为0")
@Max(value = 100, message = "最大购票数为100")
@ApiModelProperty(value = "最大购票数", example = "48")
private Short maxTickets;
@Size(max = 10, message = "请输入10个字符以内")
@ApiModelProperty(value = "联系人", example = "张三")
private String primaryContact;
非文章,spring boot个人笔记 谢谢。
网友评论