JSR303 之 @Validated + @Valid 实现嵌

2020-06-19  本文已影响0人  炒面Z

1.名词定义解释

JSR303

注解 @Validated + @Valid

2.校验使用场景

对入参的数组对象的每个子元素对象作参数校验,实现对入参元素的嵌套校验

demo源码

    @PostMapping(value = "/savePoints")
    public Result savePoints(@Validated @RequestBody KidPointDto dto) {
        return kidPointService.savePoints(dto);
    }
@Data
public class KidPointDto implements Serializable {
    private static final long serialVersionUID = -8000551611072121475L;
    @NotNull(message = "课程ID不能为空")
    private Long ccCourseId;

    @Valid
    @Size(min = 1, message = "数组至少需要一个元素")
    private List<SinglePointModel> pointList;
}
@Data
public class SinglePointModel implements Serializable {
    private static final long serialVersionUID = -5004183222932545560L;

    @NotNull(message = "学员id不能为空")
    private Long kidId;

    @NotNull(message = "积分(金币)数不能为空")
    @Range(min = 0, max = 1000, message = "积分(金币)数范围必须在0-1000之间")
    private Integer points;
}
上一篇 下一篇

猜你喜欢

热点阅读