【发布时间】:2013-10-14 20:08:45
【问题描述】:
我正在尝试确定是否使用--
带有基于 HTTP 的入站端点的泽西 (JAX-RS)。
使用基于 HTTP 的入站端点,然后检查 HTTP 标头数据(如 http.method、http.query.params、http.query.string 等)以确定 REST 方法。即实现 REST 的非基于泽西岛的自定义方法。
方法#1的优点
标准:在 Java 中实现休息服务的基于 JAX-RS 标准的方法。
文档编制很容易:生成文档非常简单,因为有许多工具使用 JAX-RS 注释来生成文档。
方法#1的缺点
-
如果我们必须在 Mule 中使用 Jersey,则 Jersey 方法充当有效负载数据的传递。例子-
@POST @Produces(MediaType.APPLICATION_JSON) public String create(String jsonPayload) { logger.debug("Received and added data :" jasonPayload); return jsonPayload;} 在我们的用例中,我们必须将此数据传递给下一个流,在该流中,它要么插入数据库,要么转发到其他 Web 服务。我们不想在这个类中注入特定于 mule 的代码来从 create 方法中调用其他 Mule 流。我们别无选择,只能将有效负载从该方法中传递出来并在 mule 流中处理。
在 Jersey 处理 create 方法后,它会创建一个封装负载的 Response 对象。如果我们想对有效负载做一些事情,那么我们必须首先从响应对象中提取有效负载。这是不必要的麻烦。
有什么建议、意见、想法吗?
【问题讨论】:
标签: mule