以下のサンプルのパラメーターではなく、任意の数のパラメーターを受け入れる必要があるRESTfulサービスを構築しています。
次のサービスルーチンを想定
@RequestMapping("/start/id/{id}", RequestMethod.GET)
public void startService(@PathVariable String id) {...}
に基づくクライアントの実装がありますRestTemplate
restTemplate.getForObject("/start/id/{id}", null, id);
質問:しかし、それが数千になる可能性があることを考えるとids
、を使用して1つのリクエストですべてのパラメーターを送信するためにどのような安らかなアプローチが必要RestTemplate
ですか?私は提案を見てきました
- リクエスト本文をGETリクエストに追加します-では不可能と思われ
RestTemplate
ますか? - idに区切り文字を使用します(例:
id1|id2|....|idn
)-ハックのようです - 最初にパラメータを入力してから、GETを発行してIDを参照します-ダブルリクエスト、直感的ではないようです
- 複数のURLパラメータの追加(
?id=foo&id=bar&.....&id=foobar
)
私は同様の質問を知っています(call-a-restful-service-with-many-parameters、how-to-create-rest-urls-without-verbs、can-you-build-a-truly-restful-service-that-takes -many-parameters)は以前に質問されましたが、満足のいく答え、または少なくともに基づく答えを見つけるのは難しいことがわかりましたRestTemplate
。