这是我第一次使用Java在Apache中实现客户端/服务器。问题是我想从服务器获取一个名为:listaAudio的列表。我可以将音频添加到列表中,但无法获取列表。
在服务器中,我有一个名为ListaAudioResource的资源,该资源具有一个get方法来获取名为listaAudio的列表。该列表包含歌曲和播客。
在客户端,我有一个名为ListaAudioAPI的API,当我尝试使用它时,出现以下错误消息:
线程“ AWT-EventQueue-0”中的异常 org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: 找不到媒体类型= application / json的MessageBodyReader, type = interface java.util.List,genericType = interface java.util.List。
ListaAudioResource
@Produces(MediaType.APPLICATION_JSON)
public List<Audio> getListaJson() {
//TODO return proper representation object
return Utils.listaAudios;
}
ListaAudioAPI
public <T> T getListaJson(Class<T> responseType) throws ClientErrorException {
WebTarget resource = webTarget;
return resource.request(javax.ws.rs.core.MediaType.APPLICATION_JSON).get(responseType);
}
这是我在客户端中配置的以获取列表:
List<Audio> lista = new ArrayList<>();
ListaAudioAPI listaAudioAPI = new ListaAudioAPI();
lista = listaAudioAPI.getListaJson(List.class);