私はApache Http Clientを装うを使用していますが、私は以下のJAX-RSのインタフェースをサポートしたいと思います:リクエストボディとクエリパラメータなしでFeign POSTリクエストを作成するにはどうすればいいですか?
@POST
@Path("/do_something")
void doSomething(@QueryParam("arg") String arg);
しかし、ApacheHttpClientはUrlEncodedFormEntityに身体/実体なしで要求のためのクエリパラメータを変換しRequestBuilderを、使用しています。
私のAPIをjax-rsに変換していますが、下位互換性を壊したくありません。 APIを調整せずにFeignを使用する方法はありますか? OkHttpまたはリボンクライアントは、クエリパラメータを持つPOSTをサポートし、ボディ/エンティティはありませんか?これをサポートする別のjava jax-rsクライアントがありますか?
また、RequestBuilderがクエリパラメータをUrlEncodedFormEntityに変換する理由はありますか?これをしないapache-httpclientライブラリ内に別のHttpUriRequestビルダーがありますか?あなたは少しAPIを破るために喜んでいる場合
URI uri = new URIBuilder()
.setScheme("https")
.setHost("localhost")
.setPath("service/do_something")
.addParameter("arg", "value")
.build();
HttpUriRequest request = new HttpPost(uri);