前言 优秀开源软件的官方文档写得都很详细,但是国内很多开发者往往只从百度上搜索技术问题,无法获取最优的解决方案。我本来不想写这些知识搬运类型的文章,但是好像还挺有需求的,就随便记录一下吧。
开发web项目有时候我们需要对controller层传过来的参数进行一些基本的校验,比如非空、整数值的范围、字符串的长度、日期、邮箱等等。 很多文章在介绍用注解验证参数的时候,都需要在controller中把参数封装到一个java类中。但是如果不想把参数封装到类中则可以直接用注解来验证参数。
代码如下
@Controller
@Validated
@RequestMapping(value = "validator")
public class ValidatorDemoController {
@ResponseBody
@GetMapping(value = "simple")
public String validate(@Size(min = 1, max = 5) String name) {
return "OK";
}
}
@Size是javax.validation包中的constraint注解,而@Validated这个注解则告诉spring需要扫描这个类,来检查其中的constraint注解。 详细信息可以参考官方文档有关章节