私の要件は次のとおりです。
俳優の名前、開始日、終了日を指定し、その期間に彼が演じたすべての映画を手に入れたいです。
そのため、私のサービスリクエストは次のようになります。
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
これで、コントローラーで%を使用して名前の文字列を解析し、すべての俳優の名前を取得します。
これはこれを行う良い方法ですか、それとも標準的なアプローチがありますか?
ありがとう
コンマで区切ります:
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.
}