2012-09-09 107 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