Versão atual:

Deserializar um json de uma requisição http (PUT) com Jersey e Jackson

Galera estou desenvolvendo um web service Rest usando Jersey e não to conseguindo deserializar um json de uma requisição http (PUT). Ao mandar a requisição eu to recebendo a seguinte exceção:

11, 2015 6:10:57 PM com.sun.jersey.spi.container.ContainerResponse mapMappableContainerException
GRAVE: The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of Bean.InformativoLido out of START_ARRAY token

Esse aqui é o método que recebe a requisição na classe dos recursos:

@PUT
    @Path("/atualizaInformativo")
    @Consumes(MediaType.APPLICATION_JSON)
    public Response atualizaInformativo(InformativoLido informativoLido){
        new Controler().atualizaInformativo(informativoLido);
        return Response.ok().build();
    }

Esse é o meu Bean:

package Bean;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class InformativoLido {

    private int idInformativo;
    private int idResonsavel;


    public int getIdInformativo() {
        return idInformativo;
    }
    public void setId_informativo(int idInformativo) {
        this.idInformativo = idInformativo;
    }
    public int getIdResonsavel() {
        return idResonsavel;
    }
    public void setId_resonsavel(int idResonsavel) {
        this.idResonsavel = idResonsavel;
    }
}

Nas minhas pesquisas para resolver o problema eu achei um exemplo que parece ser a solução:

ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(new File("c:\\user.json"), User.class);

Dessa forma é possível converter o json para um objeto Java, mas nesse exemplo o json vem de um arquivo e eu preciso pegar o json que está no corpo da requisição http (PUT). Quem puder ajudar eu agradeço muito.

Versões(2):

Ver a versão formatada

Deserializar um json de uma requisição http (PUT) com Jersey e Jackson

Comentário

new question