2017-05-17 11 views
0

@RequestBody@NotEmptyを追加したいのですが、リクエスト用に追加のPOJOを作成したくないのですが、どうすればいいですか?春休みリクエストを作成せずに@RequestBodyに@NotEmptyを追加POJO

私は[]をリクエストボディに入れたときに201 Createdステータスコードを返しますが、それは実際には@NotEmptyが機能していないことを意味します。

@PostMapping 
@ResponseStatus(HttpStatus.CREATED) 
public void create(@Valid @NotEmpty @RequestBody Set<String> request) { 
     ..... 
} 

私はこのような何かをするしたくないが、この場合@NotEmpty作品:

@PostMapping 
@ResponseStatus(HttpStatus.CREATED) 
public void create(@Valid @NotEmpty @RequestBody SampleRequest request) { 
     ..... 
} 

SampleRequestクラスは

public class SampleRequest { 

    @NotEmpty 
    private Set<String> name; 

    ..Setter and Getter 
} 

答えて

0

私はどうしたらまず最初にチェックですクラスパスにバリデーションの実装があることを示します。 @NotEmpty注釈は別のjar(validation-api.jar)から来ているので、コードをコンパイルしている間に、実行時に検証が強制されていない可能性があります。あなたは、私が `POJOで request`を設定し、` @のNotEmpty`でそれを注釈を付け、それが動作し、プロンプト置くとき @Size(min=1)

+0

と交換しようとすることができ、それに失敗hibernate-validator.jar

のようなものをという名前の依存関係が表示されます私はエラーですが、 '@ RequestBody'の前に置いていないので、実際には' @ NotEmpty'は問題ないと思いますか? – hades

+0

スプリングのようなサウンドは、コントローラメソッドのパラメータの検証制約注釈を無視します。私はpojoが必要と思われます – noelob

+0

私もコントローラメソッドのパラメータで '@Size(min = 1)'を試しましたが、それもうまくいきません。 – hades

関連する問題