Resteasy Jackson POST

时间:2013-08-13 08:09:53

标签: jax-ws jackson resteasy

我正在尝试使用RESTEasy和Jackson进行JSON绑定的Web服务上的POST。

我的客户端界面如

@Produces("application/json")
@Consumes(value = MediaType.APPLICATION_JSON)
public interface MyClientProxy {

    @POST
    @Path("/messages/send")
    ClientResponse<FooResponse> send(@QueryParam("foo") Foo foo);    
}

对象Foo就像:

@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo implements Serializable {

    @JsonProperty
    String bar;

    public String getBar() {
        return bar;
    }

    public void setBar(String bar) {
        this.bar = bar;
    }
}

但是现在当我运行测试时,我可以从服务器上看到我得到的POST看起来像:

{
    "foo": "com.x.y.Foo@1d75249c"
}

为什么对象Foo没有被正确地序列化为JSON?

1 个答案:

答案 0 :(得分:0)

我认为您需要一个默认构造函数public Foo() {}

@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo implements Serializable {

    @JsonProperty
    String bar;

    public Foo() {}

    public String getBar() {
        return bar;
    }

    public void setBar(String bar) {
        this.bar = bar;
    }
}