测试开发进阶——spring boot——MVC——Spring MVC框架的数据验证

常用注解@RequestMapping

@RequestMapping注解用来处理请求地址映射,指示Spring用哪个类或方法处理请求

 

常见属性:

value:指定请求的实际地址,即value属性将URL映射到方法上

@RequestMapping(value="/register")
@RequestMapping("/register")

 

 

 

method:指定请求的method类型,即该方法可以处理的HTTP请求方式,如GET,POST

@RequestMapping("/register",method=RequestMethod.POST)

 

 

 

consumes:指定处理请求的提交内容类型(Content-Type),如aoolication/json

@RequestMapping("/register",method=RequestMethod.POST,consumes="application/json")

 

 

 

produces:指定返回的内容类型,仅当request求情头的(Accept)类型中包含指定类型才返回

@RequestMapping("/register",method=RequestMethod.POST,produces="application/json")

 

 

 

params:指定request中必须包含的参数值

@RequestMapping("/register",method=RequestMethod.POST,params="myParam=Value")

 

 

 

header:指定request中必须包含指定的header值

@RequestMapping("/register",method=RequestMethod.POST,headers="Referer=http://www.shiyanlou.com")

 

 

 

===================================================================

===================================================================

 

JSR 303 是Bean验证的规范 ,Hibernate Validator 是该规范的参考实现,它除了实现规范要求的注解外,还额外实现了一些注解。

validation-api-1.1.0.jar 包括如下约束注解:

约束注解 说明

 

 

 

 

 

 

 

 

 

 

 

 

同时校验2个或更多个字段/参数

常见的场景之一是,查询某信息时要输入开始时间和结束时间。显然,结束时间要≥开始时间。

 

可以在查询VO类上使用自定义注解,下面的例子来自这里。划重点:@ValidAddress使用在类上。

 

 

@ValidAddress
public class Address {

    @NotNull
    @Size(max = 50)
    private String street1;

    @Size(max = 50)
    private String street2;

    @NotNull
    @Size(max = 10)
    private String zipCode;

    @NotNull
    @Size(max = 20)
    private String city;

    @Valid
    @NotNull
    private Country country;

    // Getters and setters
}

  

 

 

异常拦截器

通过设置全局异常处理器,统一向前端返回校验失败信息。

 

PS:此处后面渐进学习,暂时不介绍

 

 

具体可以参考:https://blog.csdn.net/jinjiankang/article/details/89711493

 

 

===================================================================

 

 

 

posted @ 2021-08-04 00:30  小白龙白龙马  阅读(59)  评论(0编辑  收藏  举报