我是Jersey,JAXB和JSON的新手,而且是XML的绿色版本。我正在玩一个简单的Web服务(它努力成为RESTful)。
鉴于以下POJO:
@XmlRootElement
public class POJO {
.
.
@XmlElement
public String getProp1 {
return prop1;
}
@XmlElement
public String getProp2 {
return prop2;
}
}
和以下资源类:
@Path("/resource)
public class Resource {
@Path("/pojo")
@GET
@Produces({"application/xml", "application/json"})
public POJO getPojo() {
POJO pojo = new POJO();
pojo.setProp1("foo");
pojo.setProp2("bar");
return pojo;
}
}
对正确URI的HTTP请求返回我期望的XML和JSON:
<?xml version="1.0" encoding="UTF-8"?>
<pojo>
<prop1>foo</prop1>
<prop2>bar</prop2>
</pojo>
{"prop1":"foo","prop2":"bar"}
接下来,我想更新服务以产生以下输出:
<?xml version="1.0" encoding="UTF-8"?>
<pojo>
<prop1>foo</prop1>
<prop2>bar</prop2>
<link>http://coolURI</link>
</pojo>
{"prop1":"foo","prop2":"bar","link":"http://coolURI"}
其中“coolURI”是指向下一个资源的超媒体指针,显然不是POJO类的属性,因此其值将以不同方式封送到XML。请指出我需要采用的机制,我应该好好去。谢谢你的帮助。
答案 0 :(得分:1)
您必须从getPojo()方法返回除POJO之外的其他内容。包含链接的扩展POJO,或以某种方式插入链接的Response对象。