Jersey gera erro 415 ao retornar string

05/12/2016

1

Fala amigos,

Here I'm, again! Seguinte, eu tenho um código Java/Jersey. Em algum momento do meu serviço preciso gerar uma lista de usuários

package service;

import javax.ws.rs.*;

@Path("api")
public class User {
    @GET
    @Produces("application/json")
    public String get() {
        return UserRepository.getUsersAsArrayList();
    }
}


Mas esse código está gerando erro 415 Unsupported Media Type :/
Responder

Post mais votado

06/12/2016

Fala Arnaldo,

Tudo certo? Então, isso pode acontecer porque o Jersey não sabe como percorrer a lista para a geração do JSON ou por falta da extensão de mídia que inclui o Jackson, responsável por esse tratamento. O primeiro caso você pode corrigir com a classe GenericEntity

GenericEntity<List<String>> entity = new GenericEntity<List<String>>(list) {};
Response response = Response.ok(entity).build();


A extensão você pode resolver adicionando a dependência no Maven

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>2.17</version>
</dependency>


Aqui você pode conhecer melhor o Jackson

https://github.com/FasterXML/jackson

Um abraço.
Responder

Mais Posts

Vlw Brother, a sugestão do GenericEntity resolveu o problemas com a lista!
Responder