我正在使用 jersey REST JAX-RS 来开发 REST Web 服务。我想以以下格式返回 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 树不会到来。
要让 Jersey RESTful Web 服务生成 XML 中的调用响应,您需要声明调用(实现调用的方法)@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;
}
}