用于验证的Spring启动控制器注释?

时间:2017-06-10 11:06:17

标签: java validation spring-boot

有没有办法在类级别为Spring Boot控制器编写注释,可以验证任何String输入到它的任何方法?通过任何字符串输入,我指的是使用@PathVariable@RequestParam注释的常规字符串输入,以及使用@RequestBody注释的对象内的字符串输入,例如:

@RequestMapping(value = "/", method = RequestMethod.POST)
public ResponseEntity<Car> update(@RequestBody Car car) {
    ...
}

car实例具有以下类定义:

public class Car {

    private String VIN;
    private String color;
    private Integer miles;

    //...
}

来自前端的示例JSON可以是:

{
    "color":"Blue",
    "miles":200,
    "VIN":"1234"
}

我想确保所有字符串都针对某些任意标准(例如没有非法字符)进行验证,并且我想使用干净,标准的方式进行验证,这就是为什么我想知道它是否可能创建一个可以支持此功能的控制器注释。

谢谢。

1 个答案:

答案 0 :(得分:0)

当然这是可能的。使用Bean Validation相应约束验证以@RequestBody传递的(JSON)输入对象非常简单,同时查看here

“更高级的果实”正在以通用的方式为所有类型的输入做到这一点。如果需求分散,更好地考虑是否真的需要并且不会在维护中结束。然而,一种方法是使用Spring AOP