2012-09-09 44 views
0

我正在考虑通过转换传入的HTTP请求来将传统API适配到更新的API。我使用Spring和Jersey。目前,我正在转换传入的HTTP请求的方式是引入一个Servlet过滤器,该过滤器将传入的HttpServletRequest包装在将请求组件(标头,帖子主体,查询等)转换为较新请求模型的适配器对象中。Java HTTP请求变换器

我的问题是,如果有其他工具来做这种事情。我知道Mule ESB和Spring Integration,它们有变压器/转换器来做这种事情。然而,我觉得这些对我来说有点重量级。

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

老:

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

新:

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

谢谢!

+0

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

+0

好主意 - 完成 – maxenglander

回答

0

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

下面是其中一些(比Jersey等):

+0

我在问什么工具可能存在与Mule/Spring集成的变压器/转换器组件相当的工具。 Jersey或Servlets都不提供转换HTTP请求的清晰和复杂的方式。如果您列出的任何JSR311实现提供更复杂的方法来实现,那就太好了。 – maxenglander

+0

我会推荐使用CXF。它可以很好地与http://camel.apache.org集成 – Chris