72

私の要件は次のとおりです。

俳優の名前、開始日、終了日を指定して、その期間に彼が演じたすべての映画を取得したいと考えています。

そんなわけで、私のサービス依頼はこんな感じです。

  http://localhost:8080/MovieDB/GetJson?name=Actor&startDate=20120101&endDate=20120505

では、改善したいと思います。開始日、終了日、および複数の俳優の名前を指定し、その期間のすべての俳優の映画を見たいと考えています。

そのようなことをサポートするために私のURLがどのように見えるべきかわかりません。

spring を使用して Java ベースの Web サービスを作成しています。

以下のコードは、1 つのアクターをサポートするためのものです

   @RequestMapping(value = "/GetJson", method = RequestMethod.GET) 
    public void getJson(@RequestParam("name") String ticker, @RequestParam("startDate") String startDate, @RequestParam("endDate") String endDate) {
   //code to get results from db for those params.
 }

私が考えている解決策の 1 つは、アクター名を区切るために % 記号を使用することです。例えば:

 http://localhost:8080/MovieDB/GetJson?name=Actor1%Actor2%Actor3&startDate=20120101&endDate=20120505

ここで、コントローラーで名前文字列を % で解析し、すべてのアクター名を取得します。

これはこれを行う良い方法ですか、それとも標準的なアプローチはありますか?

ありがとう

4

1 に答える 1

157

カンマで区切ります:

http://localhost:8080/MovieDB/GetJson?name=Actor1,Actor2,Actor3&startDate=20120101&endDate=20120505

また:

http://localhost:8080/MovieDB/GetJson?name=Actor1&name=Actor2&name=Actor3&startDate=20120101&endDate=20120505

また:

http://localhost:8080/MovieDB/GetJson?name[0]=Actor1&name[1]=Actor2&name[2]=Actor3&startDate=20120101&endDate=20120505

いずれにせよ、メソッドの署名は次のようにする必要があります。

@RequestMapping(value = "/GetJson", method = RequestMethod.GET) 
public void getJson(@RequestParam("name") String[] ticker, @RequestParam("startDate") String startDate, @RequestParam("endDate") String endDate) {
   //code to get results from db for those params.
 }
于 2012-08-09T18:54:17.277 に答える