0

読んでくれてありがとう。

クエリ文字列パラメーターを繰り返す必要がある IBM REST API を呼び出そうとしています。この特定のケースでは、検索を実行するには、条件ごとに「条件」クエリ文字列パラメーターを渡す必要があります。

例えば、

http://.../rest/search?condition=name|NotEquals|sublimemm&condition=age|LessThan|30

最新の apache http クライアントで URIBuilder を使用すると、次のようになります。

    URIBuilder builder = new URIBuilder();
    builder.setScheme("http").setHost(host).setPort(port).setPath(restPath + searchUri)
    .setParameter("condition", "taskActivityName|RouteHumanTask")
    .setParameter("condition", "taskStatus|NotEquals|Closed");

    HttpPost post = getHttpPostMethod(builder.build());

問題は、URIBuilder がクエリ文字列パラメーター「条件」に値を追加し、それを 2 番目の値で上書きすることです。パラメータ名からキーオフされたマップを内部で使用しているため、この特定のユースケースにこのクラスを使用することは不可能のようです。

私は何か間違ったことをしていますか?これを回避するために URIBuilder に設定できるオプションはありますか? 何か案は?

ありがとうStackOverflow、Sublimemm

4

1 に答える 1

2

URIBuilder#addParameterの代わりに使用しURIBuilder#setParameterます。

于 2013-02-05T09:33:38.220 に答える