【问题标题】:Java HTTP request transformersJava HTTP 请求转换器
【发布时间】:2012-09-10 01:18:43
【问题描述】:

我正在考虑通过转换传入的 HTTP 请求来将旧 API 调整为更新的 API。我正在使用 Spring 和 Jersey。现在,我转换传入 HTTP 请求的方式是引入一个 Servlet 过滤器,它将传入的HttpServletRequest 包装在一个适配器对象中,该对象将请求组件(标题、帖子正文、查询等)转换为新的请求模型。

我的问题是是否有其他工具可以做这种事情。我知道 Mule ESB 和 Spring Integration,它们有变压器/转换器来做这种事情。不过,我觉得这些对于我的目的来说有点重量级。

这是一个旧请求的示例,以及我希望它映射到的新请求。

旧:

GET /resource?id=abc&auth=xyz&params=<encoded-params>

新:

GET /resource/id?<unencoded-params>
Authorization: xyz

谢谢!

【问题讨论】:

  • 为了提出建议,这将有助于理解“较新的请求模型”是什么。你需要将 HttpServletRequests 转换成什么?

标签: java api


【解决方案1】:

这里要澄清一点,Mule 是一个 ESB(企业服务总线)。但是您实际上正在寻找的是 RESTful Web 服务。所有 RESTful 实现都有 JSR311。

以下是其中的一些(Jersey 除外):

【讨论】:

  • 我在问可能存在哪些工具可以与 Mule / Spring Integration 的变压器/转换器组件相媲美。 Jersey 或 Servlet 都没有提供转换 HTTP 请求的干净和复杂的方法。如果您列出的任何 JSR311 实现都提供了更复杂的方法,那就太好了。
  • 我会推荐使用 CXF。可以和camel.apache.org很好的集成
猜你喜欢
  • 1970-01-01
  • 2017-06-25
  • 2020-12-21
  • 1970-01-01
  • 1970-01-01
  • 2014-04-02
  • 2018-09-01
  • 1970-01-01
相关资源
最近更新 更多