Java:Web前端入参校验

方式一:使用javax.validation和spring validation

javax.validation提供的常用注解
@NotNull: 不为NULL
@NotEmpty: 不为NULL,且不为空
@NotBlank : 不为NULL,且不为空(包括去除首尾空格)
@Max: 必须为数值,且小于等于给定值
@Min: 必须为数值,且大于等于给定值
@Email: 必须为邮箱格式
...

GET请求入参

  1. 在对应的参数字段上使用对应的注解(注意:如果是自定义对象接参,则需要在接参对象上使用@Valid或@Validate)
    @Data
    public class StudentPageDTO{
         
    	@NotNull(message="parameter can not be null --- page")
    	@Min(value=1, message="page must be over 0")
    	private Integer page;
    	
    	@NotNull(message="parameter can not be null --- page")
    	@Min(value=1, message="pageSize must be over 0")
    	private Integer pageSize;
    	
    	private String name;
    	
    	private Integer age;	
    }
    
  2. 在controller类上使用@Validated注解
    @Validated
    @RestController
    @RequestMapping("/user")
    public class UserController{
         
    	/**
    	 * 基本类型
    	 */
    	@GetMapping("/id")
    	public Result getById(@NotNull(message="parameter can not be null:id") Integer id){
         
    		//to do...
    	}
    	
    	/**
    	 * 自定义类型
    	 */
    	@GetMapping("/page-list")
    	public Result getPageList(StudentPageDTO dto){
         
    		//to do...
    	}
    }
    

POST请求入参

  1. 参数的字段使用对应的注解

    @Data
    public class User{
         
    	private Long id;
    	
        @NotBlank(message = "parameter can not be null or empty:name")
        private String name;
    
        @NotNull(message = "parameter can not be null:age")
        @Min(value = 18,message = "age must be over 17")
        @Max(value = 60,message = "age can not be over 60")
        private Integer age;
    
        @NotBlank
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值