由于controller是调用的第一层,经常参数校验将在这里完成,常见有非空校验、类型校验等,常见写法为以下伪代码:
public void round(Object a){
if(a.getLogin() == null){
return "手机号不能为空!";
}
}
但是调用对象的位置会有很多,而且手机号都不能为空,那么我们会想到把校验方法抽出来,避免重复的代码。但有框架支持我们通过注解的方式进行参数校验。
先立个场景,为往动物园添加动物,动物对象如下,时间节点大概在3030年,我们认为动物可登陆动物专用的系统,所以有password即自己的登录密码。
public class Animal {
private String name;
private Integer age;
private String password;
private Date birthDay;
}
调用创建动物的controller层如下,简洁明了,打印下信息后直接返回。
@RestController
@RequestMapping("/animal")
public class AnimalController {
@PostMapping
public Animal createAnimal(@RequestBody Animal animal){
logger.info(animal.toString());
return animal;
}
}
伪造M