2015-06-25 62 views
1

這是來自問題here的後續行動。如何將@Valid添加到本地變量?如何使用@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; 

這是控制器:

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 not applicable to local variable

+0

您是否得到了答案? – Mojtabye

回答

0

我認爲這個例外說明了一切。 Bean驗證不允許驗證局部變量。它通過屬性驗證來驗證類的狀態,或者你可以做方法驗證。沒有局部變量驗證這樣的事情。