在java开发过程中,通常一个对象会在多个接口进行使用,但是每个接口对参数校验的需求不一样,当遇到这种情况,我们可以采用分组校验的方式
Bean的书写如下
增加两个接口类,Add和AddFileType,在校验部分,增加groups参数配置
- @Data
- public class FileInfo {
-
- @NotBlank(message = "文件id",groups = AddFileType.class)
- private Integer id;
-
- @NotBlank(message = "文件名称不能为空",groups = Add.class)
- private String fileName;
-
- @NotBlank(message = "文件类型不能为空",groups = AddFileType.class)
- private List
fileTypes; -
- @NotBlank(message = "文件名称不能为空",groups = Add.class)
- private String filePath;
-
- private String fileDescribe;
-
- /**
- * 添加文件时生效
- */
- public interface Add{
-
- }
- /**
- * 添加文件类型时生效
- */
- public interface AddFileType{
-
- }
- }
Controller的书写如下
@Validated注解加上要使用的组
- @RequestMapping(value = "/add", method = RequestMethod.POST)
- public void addFile(@RequestBody @Validated({FileInfo.Add.class}) FileInfo fileInfo){
- //...
- }
-
- @RequestMapping(value = "/addType", method = RequestMethod.POST)
- public void addType(@RequestBody @Validated({FileInfo.AddType.class}) FileInfo fileInfo){
- //...
- }
ok,这样就能够实现分组验证啦~
喜欢就点个赞呗