残念ながら、答えは「状況によって異なります」です。
より正確にbpf
は、URLにパラメーターとしてを追加する場合、POSTを実行するかGETを実行するかは実際には重要ではありません。サーバーが処理するURLの長さに制限がある場合もありますが、それはサーバーが受け入れるものに依存し、クライアントであるRestTemplateから決定することはできません。
たとえば、RESTリクエストを送信するサーバーがTomcatの場合、完全なヘッダー(URL、HTTP-Headerなど)の最大値は、Tomcat6.0以降ではデフォルトで8kBです。たとえば、https ://serverfault.com/questions/56691/whats-the-maximum-url-length-in-tomcatを参照してください。
サーバー側も制御できる場合に備えて、次のbpf
ように、パラメーターとしてではなくリクエスト本文として送信することで、期待されるインターフェースを変更できます。
Map<String, String> vars = new HashMap<String, String>();
// vars.put("bpf", bpf); <--- not needed
responseString = restTemplate.postForObject(url, bpf, String.class, vars);
(そしてもちろん、bpf
代わりにリクエスト本文からサーバー上で取得します)。
そうしないと、運が悪くなり、URLの長さを制限する必要があります。プロキシまたはネットワークスニファを使用して、実際に送信される追加のヘッダーを確認し、それを8kBの制限から差し引いて、URLの最大長を取得します。