Validated用法 SpringBoot中数据校验

@Validated用法 SpringBoot中数据校验

    • 1.导入依赖
    • 2.在Controller层的方法的要校验的参数上添加@Validated注解
    • 3.在实体类的相应字段上添加用于充当校验条件的注解
    • 4.在基础框架返回参数上加入@Valid注解
    • 5.附上部分标签含义

1.导入依赖

 		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
            <version>2.2.0.RELEASE</version>
        </dependency>

2.在Controller层的方法的要校验的参数上添加@Validated注解

 	@ApiLog
    @PostMapping("/addCategory")
    @CrossOrigin
    @GlobalExceptionLog
    public CommonResponse<Integer> addCategory(@RequestBody @Validated CommonRequest<AddCategoryVO> commonRequest) throws Exception{
        CategoryDTO categoryDTO=new CategoryDTO();
        AddCategoryVO addCategoryVO=commonRequest.getBody().get("vo");
        categoryDTO.setId(SnowFlakeUtil.get().nextId());
        PojoUtil.copyProperties(addCategoryVO,categoryDTO);
        int result=0;
        try{
            result=categoryService.add(categoryDTO);
        }catch (ServiceException e){
            throw new BusinessException(e);
        }
        return buildResponse(result);
    }

3.在实体类的相应字段上添加用于充当校验条件的注解

 		@NotNull
        private String name;

4.在基础框架返回参数上加入@Valid注解

@Data
@NoArgsConstructor
@AllArgsConstructor
public class CommonRequest<T> {
    private RequestHead head;
    @Valid
    private Map<String,T> body;

5.附上部分标签含义

限制 说明
@Null 限制只能为null
@NotNull 限制必须不为null
@AssertFalse 限制必须为false
@AssertTrue 限制必须为true
@NotBlank 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的空格

你可能感兴趣的:(Validated用法 SpringBoot中数据校验)