2012-03-14 7 views
2

とメソッドを取得します:Spring MVCの - 私はこのようなコントローラ・インタフェースがある場合はRESTがRequestParam一覧<String>

@RequestMapping(method = RequestMethod.GET, value = "/{CustomerId}/audit") 
public @ResponseBody Long countAudit(
    @PathVariable(value = "CustomerId") String customerId, 
    @RequestParam(value = "Users", required = false) List<String> users) 

をそして、私はそうのように、getForObject経由して、通話を行うためにRestTemplateを使用します。

RestTemplate restTemplate = new RestTemplate(); 
List<String> users = new ArrayList<String>(); 
users.add("Bill"); 
users.add("John"); 
String customerId = "1234"; 
Long cnt = restTemplate.getForObject(url, Long.class, customerId, users); 

コントローラー側のリストの最初の項目が[前にあり、最後の項目に一致する]があるのはなぜですか?クライアントで

が...それは次のようになります。「ビル」、「ジョン」コントローラ(サーバー)上の が、それは次のようになります。「[ビル」、「ジョン]」

任意のアイデア、これを回避する方法やこれに対処する方法がありますか? resttemplateのrequestParam経由でリスト<を渡す方法に関する他の提案はありますか?アドバイスありがとうございます..

答えて

0

サーバー側がjson形式の解析が正しくありません。それを解析する代わりに、サーバーは完全なメッセージのjson文字列(["Bill", "John"])を返します。

サーバーが正しく解析していない理由はわかりませんが、そのヒントが問題の発見に役立つことを願っています。

+0

Hmm ..非常に面白いです。それは私には単なる手がかりを与えてくれます.JSONでまだ作業していないので、私はそれがjson形式であることに気づいていませんでした。どうもありがとうございました。 – Brian

関連する問題