2
我是Jersey,JAXB和JSON的新手,并且使用XML格式很绿。我正在玩一个简单的Web服务(它努力成为RESTful)。Jersey/JAXB/XML/JSON:为从POJO创建的文档添加元素
鉴于以下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;
}
}
HTTP请求到合适的URI返回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。请指出我需要采用的机制,我应该很乐意去。谢谢你的帮助。