RESTFUL Web 服务 - 列表

RESTFUL Web Service - List

我有一个客户端应用程序从 Web 服务请求频道列表。是否可以从 Web 服务中获取 "response" 并将其存储在 ArrayList 中?

意思是如果我想存储一个频道列表,例如,它通常来自 Web 服务作为响应,通常来自 ResponseBuilder。

我想将它存储在客户端的 ArrayList 中,例如 List。

我该怎么做?

您可以使用 TypeReference 实例化您的 Channel 对象列表,这是一个示例:

import com.fasterxml.jackson.core.type.TypeReference;

public class ChannelClient {

  public void getChannels() {
    Response serviceResponse = client.target("http://your_service_url/channels/").
                request(MediaType.APPLICATION_JSON).get(Response.class);
    String responseString = serviceResponse.readEntity(String.class);
    List<Channel> list = new ObjectMapper().readerFor(new TypeReference<List<Channel>>() {
        }).readValue(responseString);
  }
}

确保你的依赖中有 Jersey JSON Jackson jar,你可以从这里获取它

https://mvnrepository.com/artifact/org.glassfish.jersey.media/jersey-media-json-jackson/2.26-b07

编辑:如果您想使用 MediaType.TEXT_PLAIN 响应,您只需将请求方法参数更改为您指定的类型,如下所示:

 Response serviceResponse = client.target("http://your_service_url/channels/").
            request(MediaType.TEXT_PLAIN).get(Response.class);