测试开发进阶——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

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

 

原文地址:https://www.cnblogs.com/xiaobaibailongma/p/15097048.html