处理休息服务的不同反应

时间:2013-09-09 09:51:05

标签: java web-services rest jaxb cxf

我正在集成到现有系统,因此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

任何帮助都将非常感谢:)

0 个答案:

没有答案