2013-06-04 8 views
5

以下は私の春のMVC RESTサービスのPOSTエンドポイントです。私は受け取ったリストが空でないことを確認するために春の検証フレーム作業を使用したいと思います。どうすればいいのですか?私は約listOfLongsにラッパービーンを提供する必要がありますか?Spring MVCでBeanでない場合、リクエストパラメータを検証する方法は?

@RequestMapping(value = "/some/path", method = RequestMethod.POST) 
    @ResponseBody 
    public Foo bar(@Valid @NotEmpty @RequestBody List<Long> listOfLongs) { 

    /* if (listOfLongs.size() == 0) { 
      throw new InvalidRequestException(); 
     } 
    */ 

     // do some useful work 
    } 

リクエストボディとは何ですか?

1) [123,456,789] 
2) { listOfLongs : [123,456,789]} 

答えて

4

ラッパービーンを提供することは良い方法です。

class LongList { 

@NotEmpty 
private List<Long> listOfLongs; 

// Setters and Getters ... 

} 

その後、リクエストボディは、paramは専用文字列であれば、検証する方法{ listOfLongs : [123,456,789]}

@RequestMapping(value = "/some/path", method = RequestMethod.POST) 
@ResponseBody 
public Foo bar(@Valid @RequestBody LongList listOfLongs) { 

    // do some useful work 
} 
+0

すべきですか?そして、ラップしたくない。 – Cengiz

+0

なぜこの良い習慣はありますか? –

関連する問題