这里讲两个小方面:
SpringBoot 中的表单验证功能步骤如下:
@PathVariable
和 RequestParam
设置参数的单个属性转换为对象:@Valid
注解,并添加错误日志举个例子:
设置未满18 岁的少女禁止访问
Controller 类:
@PostMapping(value = "/girls")
public Girl girlAdd(@Valid Girl girl, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
System.out.println(bindingResult.getFieldError().getDefaultMessage());
return null;
}
girl.setCupSize(girl.getCupSize());
girl.setAge(girl.getAge());
return girlRepository.save(girl);
}
对象类:
@Min(value = 18, message = "未成年少女禁止入内")
private Integer age;
如果对象的年龄满足 18 岁,将可以添加数据,如果 age < 18, 将无法添加数据。
其实具体操作和 Spring 中基于 AspectJ 的 AOP 开发差不多,具体可参考之前我写过的文章:Spring 基于 AspectJ 的 AOP 开发
步骤:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version></version>
</dependency>
@Aspect
和 @Component
)@Aspect
@Component
public class HttpAspect {
}
@Before("execution(public * com.imooc.controller.GirlController.girlList(..))")
@Pointcut("execution(public * com.imooc.controller.GirlController.girlList(..))")
public void log() {
}
@Before("log()")
public void doBefore() {
System.out.println(1111);
}
完。