Java在参数注释上执行代码

时间:2017-09-18 18:50:37

标签: java spring validation annotations

我对Java注释很新。但是,我的理解是他们不能自己运行任何代码。

我正在尝试制作验证包,并希望使用@valid参数注释来验证对象。
例如:

public Response login(@valid LoginRequest request) {
    return ...
}

我希望它以这种方式工作,它与spring验证的方式相同。

所以我的问题是:如何在@valid注释上执行代码来验证对象?我不介意解决方案是否只适用于spring。

我想制作自己的验证包的原因是因为我希望有一个更像“laravel like”的验证包。

1 个答案:

答案 0 :(得分:0)

这很简单。我只需要创建一个拦截器并检查preHandle是否有一个具有@valid注释的处理程序参数。

如果@valid存在,我可以获取对象并验证它,失败时只抛出异常并使用异常处理程序处理异常。

我不知道我可以从拦截器访问控制器参数...