2016-03-12 21 views
-2

我有一個Java JSVC應用程序,我想在其中公開Web/REST API。在Java中偵聽傳入http流量/製作REST API最簡單的方法是什麼?

這樣做最簡單的方法是什麼?

每當我試圖找到一個簡單的教程,它希望我至少安裝一個框架和一個Web服務器(球衣,tomcat,Java EE,gradle,glassfish,spring和maven已被提及很多)...

有沒有一種輕量級的方式來儘可能少地依賴它?

我的應用需要能夠作爲獨立的守護進程/服務進行部署。 如果人們不得不建立一個tomcat web服務器和/或其他的東西,那將會有問題。

沒有任何Java應用程序能夠綁定到端口並偵聽數據嗎?

+0

您可以隨時使用'ServerSocket'和處理自己的一切,但是你不想使用所有這些討厭的框架的好處是,他們已經解決了這個問題,您(以及提供大量的羣衆演員,你很可能無論如何需要)。 –

+0

我使用了一個名爲[Jetty](https://eclipse.org/jetty/)的庫來幫助創建Web服務器。我並沒有覺得與它合作特別棒,但它可以做到基礎。 – joeytwiddle

+0

我不認爲你可以擺脫使用*某種框架,但它們不是重量級或難以設置的。看看Spring Boot或Dropwizard。它們都允許您在幾分鐘內創建一個暴露了Restful API的命令行應用程序。 – sisyphus

回答

1

Spring周圍的很多人都說Spring就是這樣 - 對於那些不想進入應用服務器業務的人來說,這是一個輕量級的服務器組件。

當然,像Spring這樣的框架仍然不是輕量級的;例如,與上面提到的簡單的ServerSocket或Jetty框架相比。

但有一點要記住:http流量和REST不是免費的。這些術語意味着複雜;並且處理那個複雜性是重的舉起爲了得到它正確。當然,也許有可能把你自己的東西放在一起;但如果你的產品吸引用戶;一步一步你將面臨更多的要求。突然之間,你必須要考慮性能,安全性,標準...

這樣:記住,「小」的解決方案可能解決當前的問題。但是,你可能很快就需要「不止於此」。突然之間,你不斷地重新發明輪子(可能你製造的輪子與現成的解決方案相比是非常不足的)。

相關問題