【JAVA】SpringBoot使用Validation框架参数校验

背景:参数前端要进行判断,后端也要进行参数校验,严谨

1. pom.xml 


        
            org.springframework.boot
            spring-boot-starter-validation
        

2. JavaBean


@Data
@AllArgsConstructor
@NoArgsConstructor
public class Order {
    @NotBlank(message = "项目名称不能为空")
    private String projectName;
    private String orderId;
    private String contractId;
  。。。。。。。。。

}

3. controller

@PostMapping("submitOrder")
    @ApiOperation(value = "下单")
    public ResponseObj submitOrder(@RequestBody @Valid Order order, BindingResult error) {
        try {
            if (error.hasErrors()) {
                return ResponseObj.getErrorInfo(error.getFieldError().getDefaultMessage());
            }
            orderServiceImpl.setOrder(order);
            return ResponseObj.getSuccessUserInfo("下单成功");
        } catch (ProcureException e) {
            return ResponseObj.getErrorInfo(e);
        }
    }

运行得到,如果参数为Null或者其他条件,会自动将错误返回前端

附件

@Null     被注释的元素必须为 null
@NotNull     被注释的元素必须不为 null
@AssertTrue     被注释的元素必须为 true
@AssertFalse    被注释的元素必须为 false
@Min(value)     被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)     被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value)     被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value)     被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max, min)     被注释的元素的大小必须在指定的范围内
@Digits (integer, fraction)    被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past     被注释的元素必须是一个过去的日期
@Future    被注释的元素必须是一个将来的日期
@Pattern(value)     被注释的元素必须符合指定的正则表达式

 

你可能感兴趣的:(Intellij,idea,Java,Mac)