1、第一层对象定义
import java.io.Serializable;
import javax.validation.Valid;
/**
* 请求参数
* @Title: ReqIn.java
* @Package com.spring.pro.model
* @Description:
* @author ybwei
* @date 2018年9月18日 下午1:43:26
* @version V1.0
*/
public class ReqIn<T> implements Serializable{
private static final long serialVersionUID = 25549320423002325L;
/**
* 请求头信息
*/
private String head;
/**
* 请求主体信息
*/
@Valid
private T data;
public String getHead() {
return head;
}
public void setHead(String head) {
this.head = head;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
}
2、第二层对象
import java.io.Serializable;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Title: User.java
* @Package com.spring.pro.model
* @Description:
* @author ybwei
* @date 2018年9月18日 下午1:46:15
* @version V1.0
*/
public class User implements Serializable{
private static final long serialVersionUID = 6747944028911495569L;
private String id;
@NotBlank
private String name;
@NotNull
private Integer age;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
3、Controller层校验使用
import javax.validation.Valid;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON;
import com.spring.pro.model.ReqIn;
import com.spring.pro.model.User;
/**
* @Title: UserController.java
* @Package com.spring.pro.controller
* @Description:
* @author ybwei
* @date 2018年9月18日 下午1:48:14
* @version V1.0
*/
@RestController
public class UserController {
private Logger logger=LoggerFactory.getLogger(getClass());
/**
* 校验
* @param reqIn
* @return
* @author ybwei
*/
@PostMapping("/valid")
public HttpStatus valid(@Valid @RequestBody ReqIn<User> reqIn){
logger.info("reqIn:{}",JSON.toJSONString(reqIn));
return HttpStatus.OK;
}
}