这是问题 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/