1.当一个实体类需要多种验证方式时,例:对于一个实体类的id来说,新增的时候是不需要的,对于更新时是必须的。
可以通过groups对验证进行分组.
分组接口类:
public interface Add {
}
public interface Edit {
}
2.DTO内使用groups:
public class CompanyDTO implements Serializable {
@NotBlank(message = "ID不能为空!", groups = { Edit.class })
@ApiModelProperty(value = "ID")
private String id;
@NotBlank(message = "企业名称不能为空!", groups = { Add.class,Edit.class })
@ApiModelProperty(value = "企业名称")
private String name;
@NotBlank(message = "企业地址不能为空!", groups = { Add.class,Edit.class })
@ApiModelProperty(value = "企业地址")
private String address;
@NotBlank(message = "经度不能为空!", groups = { Add.class,Edit.class })
@ApiModelProperty(value = "经度")
private String longitude;
}
3.controller:
@ApiOperation(value = "添加运输企业")
@PostMapping("/addCompany")
public Result<String> addCompany(@RequestBody @Validated({ Add.class }) CompanyDTO companyDto) {
companyService.addCompany(companyDto);
return Result.success("新增运输企业成功");
}