java - 如何使用@Valid来验证局部变量?

标签 java hibernate validation hibernate-validator

这是问题 here 的后续内容。如何将 @Valid 添加到局部变量?

这是来自类AuthorizationServer的代码:

@NotBlank
private String authorizationServerId;

@Property
@Indexed(unique = true)
@NotBlank
private String authorizationUrl;

@Property(policy = PojomaticPolicy.TO_STRING)
@NotBlank
private String clientAuthorizationUrl;

@NotBlank
private String deviceRootCert;

这是 Controller :

byte[] bytes = IOUtils.toByteArray(request.getInputStream());
        String signature = authorization.split(":")[1];

        ObjectMapper mapper = objectMapper();
        AuthorizationServer authorizationServer = mapper.readValue(bytes, 
        AuthorizationServer.class);

如何根据 AuthorizationServer 类中声明的注释验证 authorizationServer

当我尝试时

@Valid
AuthorizationServer authorizationServer = mapper.readValue(bytes, AuthorizationServer.class);

我收到错误@Valid不适用于局部变量

最佳答案

我认为异常(exception)说明了一切。 Bean Validation 不允许验证局部变量。这都是关于通过属性验证来验证类状态,或者您可以进行方法验证。不存在局部变量验证之类的东西。

关于java - 如何使用@Valid来验证局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31055271/

相关文章:

java - 在android中创建一个文件路径

java - Elki 从纯 Java API 绘制图

hibernate - @Cache 注释使用错误

mysql - 是否 hibernate 关闭连接?

java - Hibernate 和 MySQL 配置

java - 在java中查找括号字符串的有效性

javascript - jQuery/JavaScript 日期表单验证

java - 如何从Java中的桌面调用文件?

java - 必须使用 Activity 访问 token 来查询有关当前用户的信息 - OAuthException Spring Social

java - 如何验证 JSON 对象?