我正在尝试使用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?
答案 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;
}
}