2012-10-25 74 views
7

我一直在研究Java中的REST風格的Web服務,我發現大多數方法看起來都很臃腫。這些包括來自NetBeans,Spring 3和使用Singleton的EJB的方法。輕量級REST風格的Java框架

我可能是錯的,所以請隨時糾正我,但這些都「感覺」像一個相對簡單的問題非常複雜的解決方案。

任何人都可以提出一個非常簡單和輕量級的方法來做Java中的REST風格的Web服務?

我不相信MVC是在後端需要這些,而我正在尋找乾淨的垂直切片。

我不需要持久性,除非它可以連接到mongoDB--所以我不需要任何ORM映射。

回答

7

看看Dropwizard,網站上的總結說什麼有什麼要說的。

通過Yammer的開發自己的基於JVM的後端服務動力, Dropwizard拉在一起穩定成熟從Java 生態系統庫爲簡單重量輕包,讓你重點關注 完成任務。

Dropwizard具有複雜配置, 應用指標,日誌,操作工具,和更外的現成支持, 讓您和您的團隊船舶生產質量HTTP + JSON網絡 在儘可能短的時間內服務。

我最近使用它作爲一個簡單的應用程序,它被證明是非常快速和容易開始使用,直到應用程序完成。

+0

感謝您的支持。這更多是我在尋找的。儘管額外配置可能會被認爲是膨脹的,但它並沒有與僅僅使服務運行相關。其指標等。這看起來對我來說是最好的選擇,我期望做的是。 –

+0

Dropwizard鏈接已經死了,你可以替換它嗎? – watery

3

您可能會檢出http://www.restlet.org/。另一種選擇是編寫一個簡單的servlet來處理請求,特別是如果這是一個小項目。

1

我建議使用Apache Httpcomponents包。有了這個,你可以有一個Restful web服務非常簡單。

有一個non-blocking, asynchronous HTTP服務器或old style, blocking one的示例。

另一個好處是,這不需要任何應用程序服務器,所以你可以開始你的應用程序,並且你去了。如果您不需要Servlet容器或Java EE的強大功能,這似乎不是一個好方法。

8

我已經使用CXF和Jersey for JAX-RS來創建RESTful Web服務。使用它們中的任何一個來創建/部署RESTful服務都非常簡單。我發現這些文件足以啓動。

+0

從我的研究中我發現dropWizard儘管在這裏有很好的答案。 CXF和澤西島肯定是不錯的選擇,我將使用dropWizard(無論如何均衡澤西島)。感謝您的意見。 CXF或Jersey也可以滿足我的需求。 –

1

對於「基於數據的」RESTful服務,您可能對MVC的假設是正確的......您希望某些JSON從URL返回。

對於真正的RESTful服務(基於超媒體)w /自定義mediatype formats..MVC播放非常好,因爲視圖成爲您的媒體格式模板。如果您使用HTML/XML作爲您的基本媒體格式,則尤其如此。

+0

謝謝,我對整個話題非常瞭解。 –

9

只是拋出另一種選擇到組合,看看Spark

一個Sinatra的啓發微Web框架

對於Java。

沒有親自使用它,但它看起來很有前途,我一定會檢查出來。

而且,不,我不以任何方式隸屬於Spark。