【发布时间】:2015-12-01 00:08:37
【问题描述】:
我正在尝试构建一个 JAX-RS rest api,它在 POST 方法中接受一个(JSON)UnMarshelled 类,目前我只返回相同的类(作为 JSON 编回)。
当我返回对象时,我在浏览器(邮递员客户端)中得到一个普通的 {}。我正在使用question: 中提供的数据。
我的理解是否正确,我发送的相同 JSON 应该按原样返回?如果是,则不确定为什么只收到 { } 或者我完全错过了什么。
下面是我的代码:
@Path("/元数据") 公共类 MetadataResource {
//Anil: This is the method that will be called when a post at /metadata comes
@Consumes(MediaType.APPLICATION_JSON)
@POST
@Produces(MediaType.APPLICATION_JSON)
public ObjectA CreateMetadata_JSON(ObjectA metadata) {
return metadata;
}
类对象 A:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "objectA")
public class ObjectA {
@XmlElement(required = true)
protected String propertyOne;
@XmlElement(required = true)
protected String propertyTwo;
@XmlElement(required = true)
protected ObjectB objectB;
}
和类对象 B:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "objectB")
public class ObjectB {
@XmlElement(required = true)
protected String propertyA;
@XmlElement(required = true)
protected boolean propertyB;
}
被发送的json对象是:
{
"objectA" :
{
"propertyOne" : "some val",
"propertyTwo" : "some other val",
"objectB" :
{
"propertyA" : "some val",
"propertyB" : "true"
}
}
}
【问题讨论】: