使用@Validated
注解校验请求参数
一、Controller
中方法中的参数列表
校验
Controller
开启Validated
校验
@RestController
@RequestMapping("/test")
@Validated
public class TestController{
- 方法上直接校验参数
@GetMapping(value = "/method/{type}")
public ResponseModel test(
@Pattern(regexp = "[1,2]",message = "类型只能为1或2")@PathVariable(value = "type")String types,
@NotBlank(message="内容不能为空")String content,
@Length(max = 64,message = "长度最大为64")String title,
@NotEmpty(message = "集合不能为空")List<String> ids,
@Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$",message = "手机号格式有误") @NotBlank String mobile,
@Max(value = 100,message = "最大值为100") @Min(value = 1,message = "最小值为1")Integer intValue) {
二、Controller
中方法中的对象参数
校验
controller
方法中接收对象参数
public ResponseModel test(@RequestBody @Validated Bean beanBo)
- Bean中使用
import javax.validation.constraints.*
校验一系列参数
import lombok.Data;
import javax.validation.Valid;
import javax.validation.constraints.*;
import java.util.List;
@Data
public class BeanBo {
@NotEmpty(message = "列表不能为空")
@Valid
List<Bo> boList;
@NotBlank(message="内容不能为空")
@Size(max = 64,message = "内容字符数超出限制")
private String str3;
@Data
public static class Bo{
@NotBlank(message="不能为空")
private String str1;
@NotBlank(message="不能为空")
@Size(max = 64,message = "内容字符数超出限制")
private String str2;
@NotEmpty(message = "人员信息不能为空")
@Valid
private List<MemberInfos> audienceInfoList;
}
@Data
public static class MemberInfos{
@NotBlank(message = "请选择有效的用户")
private String id;
@Pattern(regexp = "[男|女]",message = "请输入正确的性别")
@NotBlank(message = "请输入正确的性别")
private String sex;
}
}
未完待续。。。。