0

我正在集成到现有系统,因此 API 是固定的。该服务非常简单,看起来像这样。

@Path("/get_orders/")
public interface OrderService {

@GET
@Path("/")
Orders getOrders(@QueryParam("from_date") String fromDate);

}

只要查询将产生至少一个订单,一切都可以正常工作。在这种情况下,xml 看起来像

<orders>
  <order>
    <id>11</id>
    ...
    ...
    ...
  </order>
</orders>

问题是如果查询将导致零订单,xml 将如下所示

<error>
  <message>Orders not found</message>
</error>

如何处理不同的 XmlRootElement?

我猜我需要某种可以同时包含 Orders 对象和 Error 对象的包装类,但我不知道如何配置 jaxb 才能使其工作。

我确实找到了一些关于在没有 XmlRootElement 注释的情况下处理数据绑定的内容,但还没有弄清楚这是否是我需要的。

http://cxf.apache.org/docs/jax-rs-data-bindings.html#JAX-RSDataBindings-HandlingJAXBbeanswithoutXmlRootElementannotations

任何帮助将不胜感激 :)

4

0 回答 0