web-dev-qa-db-ja.com

jersey2クライアントからの応答としてlist <String>を取得する方法

List<String>クライアントからの応答としてjersey-2.0を抽出する方法を知りたい。

私はすでにこれを試しました、

List<String> list = client
                      .target(url)
                      .request(MediaType.APPLICATION_JSON)
                      .get(new GenericType<List<String>>(){});

しかし、上記のコードは機能していません。予想されるList<String>ではなく、null値を返します。

20
Saurabh

サービス応答をResponseクラスオブジェクトとして取得し、readEntity(...)メソッドを使用してこのオブジェクトを解析できます。

簡単なコードスニペットを次に示します。

List<String> list = client
                      .target(url)
                      .request(MediaType.APPLICATION_JSON)
                      .get(Response.class)
                      .readEntity(new GenericType<List<String>>() {});
/* Do something with the list object */
44
user2004685
String listString= serviceResponse.readEntity(String.class);
Gson gson=new Gson();
Type type = new TypeToken<List<String>>(){}.getType();
List<String> list = gson.fromJson(listString, type);

応答文字列を取得し、gsonライブラリを使用してリストに変換します

0
Saurabh