簡體   English   中英

創建類似於WCF的JSON / XML REST Web服務的最佳Java方法是什么?

[英]What is the best Java-way to create JSON/XML REST Web services that is similar to WCF?

我正在尋找一種可供Java開發人員實現將通過JSON或XML進行通信的REST服務的最佳方法。 我正在尋找適合生產的產品。

我知道Spring 3.0即將推出,但還沒有完成 - 沒有運氣。

澤西島是一個嗎?

我的應用程序由Tomcat托管,使用Spring,Jettison和XStream。

我想使用一個開源軟件包,這樣我就可以獲得與WCF.NET類似的開發經驗,在那里我可以聲明Url模板,映射GET / POST並獲得XML或JSON輸出。 接受的有效負載也應該是XML或JSON。

有什么想法嗎?

澤西,RESTEasy和Restlet都聲稱要做你所要求的。 我只嘗試過Restlet,我覺得它很糟糕。

Spring 3尚未達到最終版本,但是M2版本看起來非常可靠,並且在那里有REST內容。 如果我正在構建一個新的REST webapp,我可能會冒M2的風險。

我試過Restlet,RestEasy,Jersey,CXF,Spring。 以下是我的反饋:

  1. Restlet:有一套令人討厭的自己的Annotations。 而且也很容易混淆。 盡管如此,因為他們甚至在JAX-RS出現之前就已經開始實施這一點了。

  2. RestEasy / Jersey / CXF:就像它的名字一樣簡單。 簡單直接地開始研究它。 這三個框架的好處在於,因為它們符合JAX-RS,所以未來的任何時候都可以迅速回歸到其他符合JAX-RS標准的框架,如果它的性能更好或更適合您的需求

  3. Spring:Spring 3已經開始支持REST API。 但不要說它不符合JAX-RS,因為正如Restlet那樣。

    所以我只選擇RestEasy / Jersey / CXF。

是的,澤西島相當不錯,根據你的描述,你可以做到你想要的。

我不會等待Spring-WS-thing--澤西很好,而且我不知道Spring替代品有什么好處,超出了“Spring品牌”。 對我來說,JAX-RS(即jersey implements)是選擇和使用實現開放API的最佳組件的一個很好的例子; Jersey運行(除其他外)任何servlet容器,可以使用最好的XML / JSON / etc解析器,使用可插入驗證(bean驗證api)等等。 對於其他JAX-RS實現也是如此(如Resteasy)。

我已經使用並為CXF提供了一些補丁。 它支持JAX-RS,並且可以使用spring完全配置。 這里有一個很好的教程:

http://cwiki.apache.org/CXF20DOC/jax-rs.html

CXF是一個apache項目,因為JAX-RS是一個標准,如果你遇到任何困難,你應該沒有任何問題。

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM