2009-09-30 21 views
28

クライアントRESTフレームワークとサーバーRESTフレームワークの両方をJavaで実装するための最良のフレームワークは何ですか?私は使いやすいソリューションを見つけるために少し苦労してきました。Java REST Webサービスを実装する最も簡単なフレームワーク

更新:JerseyとRestletの両方が良い選択肢のようです。おそらくRestletを使用しますが、両方を試してみましょう。それはあなたが探しているものを提供しなければならないよう

+0

http://meta.stackexchange.com/questions/71068/a-few-possible-duplicate-questions-about-java-rest-what-should-we-do – ripper234

答えて

18

Restlet音:受け入れ与え

  • MIMEタイプの理解を結合(比較的対称APIの)クライアントとサーバーの

    • サポート
    • スマートURLを(
    • JAX-RSアノテーション(ジャージーと同じように)をサポートします
  • +3

    +1私は優れた結果を出しています大量生産アプリケーションでRestletジャージーのJAX-RS(JSR 311)リファレンス実装の –

    23

    Jerseyは、両方にとって本当に簡単です。クライアントのために

    @Path("/helloworld") 
    public class HelloWorldResource { 
    
        // The Java method will process HTTP GET requests 
        @GET 
        // The Java method will produce content identified by the MIME Media 
        // type "text/plain" 
        @Produces("text/plain") 
        public String helloWorld() { 
         // Return some cliched textual content 
         return "Hello World"; 
        } 
    } 
    

    :Webサービスを作成するには、注釈を使用

    Client client = Client.create(); 
    WebResource webResource = client.resource("http://localhost:8080/helloworld"); 
    String s = webResource.get(String.class); 
    System.out.println(s); // prints Hello World 
    
    +1

    +1。また、http://java.sun.com/javaone/2009/articles/gen_restful.jspを見てください –

    3

    のRestletは、クライアントとサーバー側で、その2.0バージョンの両方を注釈をサポートしています。 JAX-RS APIも拡張としてサポートされています。クライアント側では

    public class HelloWorldResource extends ServerResource { 
    
        @Get 
        public String represent() { 
         return "hello, world"; 
        } 
    
    } 
    

    :更なるドキュメントについて

    // Outputting the content of a Web page 
    new ClientResource("http://www.restlet.org").get().write(System.out); 
    

    check this page

    はここで、サーバ側のための簡単な例です。

    +0

    Restletは有望そうですが、ドキュメントは残念です。 – deamon

    +0

    「Restlet in Action」の書籍は、2012年9月にManningによって出版されます。次に、私たちはチュートリアルとJavadocs(バージョン2.2と3.0)を改善します –

    2

    JBossの新しいRESTEasyライブラリがあります。最初の打ち上げ以来、急速に発展しているようです。それがいいのかどうか分かりません。それは私の 'チェックアウト'リストにあります。

    0

    私は個人的には使用していませんが、私が扱っているチームはSpring 3 MVCを使用しています。 REST in Spring 3: @MVCは良いブログ投稿のように見えます。 RESTfulな機能には、「URIテンプレート」、「コンテンツネゴシエーション」、「HTTPメソッド変換」、「ETagサポート」などがあります。

    編集:また、この質問を参照してください。Can anyone recommend a Java web framework that is based on MVC and supports REST ?

    0

    私は、Apacheウインク、インキュベーションモードではまだ新しいフレームワークが、非常に成熟した、高品質をお勧めすることができます。

    http://incubator.apache.org/wink/

    それはREST開発のための両方のクライアント&サーバーフレームワークを持って、JAX-RS仕様を実装しています。 Apacheはこのプロジェクトの後ろに立っています。これはいつも良い兆候です(そして良いライセンスです:-))

    このフレームワークについて私が最も気に入っているのは、Springとの直感的な統合です。フレームワークを簡単に設定および拡張できます。

    +0

    BTW、RestletはApache Public Licenseの下で、他のライセンスオプション(EPL、LGPL 2.1と3.0、CDDL)に加えて配布されています:) –

    0

    更新:Xydra Restlessはメンテナンスされていません+++「予約インスタンス」機能をリリースする前にGoolge AppEngineを使用している場合、機能はほとんどありませんが高速読み込みのXydra Restlessが考えられます。

    1

    CXF JAX-RSの実装を見ることができます。その機能の完全なリストについてはCXF web site for JAX-RSを確認してください。 プロジェクトの背景にあるコミュニティは非常に活発であるようです(2013年7月)。その表示は、CXF mailing listsの1日のメッセージ数です。

    -1

    私のお気に入りは、例えば春MVC、=あなたは、クライアントとサーバー側の両方のサポートを持っている...そして、あなたはあまりにもAndroidのサポートを持っている)

    である、あなたは春のAndroid here

    +0

    AndroidリンクはJavierのブログには、もうオンラインではないようだ。 –

    関連する問題