springboot开发中常用约束注解

作者: i小灰 | 来源:发表于2022-05-13 10:58 被阅读0次

在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个人笔记 谢谢。

相关文章

网友评论

    本文标题:springboot开发中常用约束注解

    本文链接:https://www.haomeiwen.com/subject/flmyurtx.html