2017-02-17 8 views
0

私の現在のプロジェクトでは、大量のリクエストを頻繁に使用しています。例えば、他の豆と一緒に使用することは非常にシンプルなRESTサービスで汎用Beanを検証する方法は?

import java.util.List; 

import javax.validation.constraints.NotNull; 

public class BulkRequest<T> { 

    @NotNull private List<T> requests; 

    public List<T> getRequests() { return this.requests; } 

    public void setRequests(List<T> requests) { this.requests = requests; } 
} 

:私はシンプルBulkRequest<T>クラスを持っている

@RequestMapping(value = "/departments/{departmentId}/patterns", 
       method = RequestMethod.POST, 
       produces = MediaType.APPLICATION_JSON_VALUE) 
public ResponseEntity<Object> post(
    final @PathVariable long departmentId, 
    final @Valid @RequestBody BulkRequest<AddPatternRequest> bulkRequest 
) { 
    ... 
} 

AddPatternRequestは、検証のための独自のルールが含まれており、バルクに収集することができる唯一つの要求を表し、リクエスト:

import javax.validation.constraints.NotNull; 

public class AddPatternRequest { 

    @NotNull private Long pattern; 

    public Long getPattern() { return this.pattern; } 

    public void setPattern(Long pattern) { this.pattern = pattern; } 
} 

問題があります。コントローラはバルクリクエストを受信した後、BulkRequestを検証し、requestsコレクションがnullかどうかをチェックしますが、ネストされたリクエストも検証する必要があります。

どうすればいいですか?

答えて

3

リクエストに@Validを追加します。この

@NotNull 
@Valid 
private List<T> requests; 

その後、ネストされたオブジェクトも

を検証しているような
関連する問題