介绍
如何在Java后端验证参数的合法性?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1,首先创建一个测试实体类人,并携带如上注解,其注解的作用描述在消息
package com.clickpaas.pojo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Range; import javax.validation.constraints。*; import java.math.BigDecimal; import java.util.Date; import 并不知道;/* * ,* @author 方延杰 ,* @version 1.0 ,* @since 2020/12/10  9:04 下午 ,*/@ data public class  Person { @Null才能(message =,“死必须为null") private 才能;String 死亡; @AssertTrue才能(message =,“bool必须为true") private 才能;boolean  bool; @AssertFalse才能(message =,“歧视必须为false") private 才能boolean 歧视; @Min才能(value =, 1, message =,“敏必须为数字,其值大于或等于指定的最小值“) private 才能Integer 最小; @Max才能(value =, 10日,message =,“马克斯必须为数字,其值小于或等于指定的最大值“) private 才能Integer 马克思; @DecimalMin才能(value =,, 1,,, message =,“minDeci最小不能小于1“) private 才能;BigDecimal  minDeci; @DecimalMax才能(value =,“10“,, message =,“maxDeci最大不能大于10“) private 才能;BigDecimal  maxDeci; @才能(min =, 1, max =, 2, message =,“集列表合的长度最小不能小于1,最大不能大于2“) private 才能;List< Object>,列表; @Digits才能(integer =, 4, fraction =, 2, message =,“数字整数位不能超过4个,小数位不能超过2个“) private 才能BigDecimal 数字; ,/* * ,,*,将前台传来的日期数据映射到此字段 ,,*/@JsonFormat才能(shape =, JsonFormat.Shape.STRING,, pattern =,“yyyy-MM-dd HH: mm: ss",, timezone =,“格林尼治标准时间+ 8,) @Past才能(message =,“过去必须为过去的日期“) private 才能Date 过去; @JsonFormat才能(shape =, JsonFormat.Shape.STRING,, pattern =,“yyyy-MM-dd HH: mm: ss",, timezone =,“格林尼治标准时间+ 8,) @Future才能(message =,“未来必须为将来的日期“) private 才能;Date 未来; @Pattern才能(regexp =,“^ 1[3 | 4 | 5 | 7 | 8][0 - 9]{9}“美元;,,message =,“电话必须符合正则表达式“) private 才能String 手机; 才能(message =,“邮件必须是邮箱格式“) private 才能String 电子邮件; @Length才能(min =, 1, max =, 2, message =,“长度长度最小不能小于1,最大不能大于2“) private 才能;String 长度; @NotEmpty才能(message =,“id不能为null,长度大于0,) private 才能String id; @Range才能(min =, 1, max =, 12日,message =,“月最小不能小于1,最大不能大于12“) private 才能;Integer ; @NotBlank才能(message =,“名字不能为null,字段串长度大于0(限字符串)“) private 才能;String 名称; }
2,封装返回响应体
package com.clickpaas.response; import lombok.AllArgsConstructor; import lombok.Data;/* * ,* @author 方延杰 ,* @version 1.0 ,* @since 2019/7/3  4:32 下午 ,*/@ data @AllArgsConstructor public class  CodeMsg { private 才能;int 代码; private 才能String 味精; ,/* * ,,*,失败 ,,*/public 才能static CodeMsg  SERVER_ERROR =, new CodeMsg(500年,“服务端异常“); }
package com.clickpaas.response; import lombok.AllArgsConstructor; import lombok.Data;/* * ,* @author 方延杰 ,* @version 1.0 ,* @since 2019/7/3  4:35 下午 ,*/@ data @AllArgsConstructor public class  Result如何在Java后端验证参数的合法性