我正在使用泽西RESt JAX-RS开发休息网络服务。我想以下列格式返回xml -
<RootChild>
<Child1>
<HFact>
<a></a>
<b></b>
<c></c>
<d></d>
</HFact>
<PFact>
<a></a>
<b></b>
<c></c>
<d></d>
</PFact>
</Child1>
....
</RootChild>
我在每个POJO类中使用@ RootElement。但xml树不会来。
答案 0 :(得分:0)
对于使用XML生成调用响应的Jersey RESTful Web服务,您需要声明调用(实现调用的方法)@Produces({"application/xml"})
,这应该足够了,只要您正确配置了JAXB (您引用的POJO是API调用的响应,您在调用中构建响应)。
泽西宣言的例子:
@Path("/resource")
@Produces({ "application/xml"})
public class ResourceAPI{
@GET
@Path("/childs")
@Produces("application/xml")
public GetChildsResp
getChilds(){
GetChildsResp response = new GetChildsResp();
// build and populate response with all the Childs (from your DB)
return response;
}
}