6

Apache URIBuilderを使用して、Rest サービスのGET メソッドのクエリ文字列を作成しています。

@RequestMapping(value="/remote") 
    public Return getTest(Ordine ordine) throws Exception{
        ...
    }

これは入力オブジェクトです:

public class Ordine{    
    private List<String> codici;
    //..get...set..
}

この文字列リストをクエリ パラメータとして設定する方法がわかりません。

私はparamを2回設定しようとしました:

URIBuilder builder = new URIBuilder()
                .setHost("localhost")
                .setPort(8080)
                .setScheme("http")
                .setPath("/remote")
                .setParameter("codici", codicilist.get(0))
                .setParameter("codici", codicilist.get(1));

ただし、最初のパラメーターは2番目から上書きされます。次に、パラメータ名に [] を追加しようとしました:

URIBuilder builder = new URIBuilder()
                .setHost("localhost")
                .setPort(8080)
                .setScheme("http")
                .setPath("/remote")
                .setParameter("codici[]", codicilist.get(0))
                .setParameter("codici[]", codicilist.get(1));

ただし、「codici[]」という名前で送信されるだけで、最初のパラメーターは上書きされます。次に、カンマ区切りの値を試しました:

URIBuilder builder = new URIBuilder()
                .setHost("localhost")
                .setPort(8080)
                .setScheme("http")
                .setPath("/remote")
                .setParameter("codici", String.join(",",codicilist));

しかし、失敗した場合...どうすればparamのリストを設定できますか?

4

2 に答える 2