美文网首页
javax.validation 使用

javax.validation 使用

作者: zxbyh | 来源:发表于2023-06-22 09:53 被阅读0次

用法一:在body请求的controller里面校验对象。

@PostMapping(value="/combineByOrderGoodsCalculate")
    public ResponseResult<List<OrderGoods>> combineByOrderGoodsCalculate(@Valid @RequestBody CombineParma combineParma){
        return ResponseResult.success(combineApp.doCombine(combineParma.getUserInfo(),combineParma.getOrderGoodsList()));
    }

用法二:在对象里面校验子对象或者集合

@RequiredArgsConstructor
@Getter
public class CombineParma {
    @NotNull
    @Valid
    private final UserInfo userInfo;
    @NotNull
    @Size(min=1,max=99)
    @Valid
    private final List<OrderGoods> orderGoodsList;
}

注意:@Valid 是表示给集合或者对象要进行校验。如果一个对象的子对象不加@Valid 就会导致子对象的校验失效。

@Getter
@RequiredArgsConstructor               //有参构造
public class UserInfo {
    @NotNull
    @Range(min = 1,max=9999999)
    private final Long userId;

    @NotNull
    @Range(min = 1,max=5)
    private final Integer userLevel;
}

注意 基本类型不用加@Valid ,例如

@RequestMapping(value="/loadGoodsSkuSpec" ,method={RequestMethod.POST,RequestMethod.GET})
    @ResponseBody
    public ResponseResult<GoodsSkuSpec> loadGoodsSkuSpec( @NotNull(message = "goodsId不能为空") @Positive(message = "goodsId必须为正整数") Long goodsId){
        return ResponseResult.success(goodsApp.loadGoodsSkuSpec(goodsId));
    }

相关文章

网友评论

      本文标题:javax.validation 使用

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