2012-02-29 52 views
17

我正在嘗試構建一個REST Web服務(服務器端),它允許合作伙伴系統以JSON格式連接/ POST訂單信息。我應該使用JAX RS(例如來自JBOSS RESTEasy)還是使用Spring MVC來構建這樣的服務?就構建REST服務而言,它們似乎都有足夠的能力來完成同樣的事情。使用JAX RS或Spring MVC的REST

謝謝!

回答

18

取決於你是否想要學習新的東西或去你已經知道的東西。

如果你已經有了使用Spring MVC的經驗,並希望快速完成工作,那麼我建議留在Spring MVC中。 Spring 3.1中的REST功能有一些整齊的增強功能,包括能夠生成"end point documentation"

另一方面,如果您希望擴大您的簡歷和/或享受學習新技術的樂趣,那麼就給JAX RS吧。我沒有使用它,但它是一個專用的WS框架,可能會有你需要的任何功能。

當然,如果你有JAX RS經驗,但並非Spring MVC框架,那麼反應用:-)

10

如果你正在開發一個EE 5項目,然後我會建議使用JAX-RS和Spring。 JAX-RS的Jersey,Jersey有一個Spring JAX-RS調度器servlet。這使得使用JAX-RS管理依賴注入變得更加容易,併爲您提供了所有Spring MVC功能,如表單綁定和驗證,但您也可以使用REST的Java標準方法 - 並且在我看來,更好比Spring REST更易於管理。

如果它是一個EE 6應用程序,那麼您可能需要考慮關注JAX-RS作爲EE 6規範的一部分,並且您可以在您的JAX-RS類中使用EE CDI。

1

通知澤西影響與Spring集成了一個錯誤:

https://java.net/jira/browse/JERSEY-2301

如果您需要Spring AOP的在您的JAX-RS資源的內容將無法正常工作。依賴注入效果很好。

0

REST更多的是開發Web服務的架構風格,即使沒有開發人員的文檔也很容易理解。正常的技術人員可以很容易地理解URL模式,同時JSON和XML支持的響應類型也可以輕鬆地與新的JavaScript模塊化標準(如backbone或angular.js)集成。

另一方面,SpringMVC更專注於開發應用程序的模型 - 視圖 - 控制器體系結構風格。