クライアントとサーバーの両方を実装するための最良のフレームワークは何ですかREST Javaのフレームワークですか?)使いやすい解決策を見つけるために少し苦労しています。
pdate:JerseyとRestletはどちらも良いオプションのようです。おそらくRestletを使用しますが、両方で実験します。
Restlet それはあなたが探しているものを提供するはずです:
ジャージ はどちらにとっても簡単です。 Webサービスを作成するには、アノテーションを使用します。
@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";
}
}
クライアントの場合:
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
dropwizard も見てください。
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);
詳細については、 このページを確認 をご覧ください。
JBossの新しい RESTEasy ライブラリがあります。最初の発売以来、急速に発展しているようです。それが良いかどうかはわかりません。 「チェックアウト」リストにあります。
あなたはCXF JAX-RS実装を見ることができます。その機能の完全なリストについては、 JAX-RSのCXF Webサイト を確認してください。プロジェクトの背後にあるコミュニティは非常に活発であるようです(2013年7月)。 CXFメーリングリスト の1日あたりのメッセージ数を示します。
まだインキュベーションモードであるが、非常に成熟した高品質の新しいフレームワークであるApache winkをお勧めします。
http://incubator.Apache.org/wink/
これはJAX-RS仕様を実装し、REST開発用のクライアントとサーバーの両方のフレームワークを備えています。Apacheはこのプロジェクトの後ろに立っています-これは常に良い兆候です(そして良いライセンスです:-))
このフレームワークについて私が最も気に入っているのは、Springとの直感的な統合です。フレームワークを簡単に構成および拡張したい場合に非常に便利です。
更新:Xydra Restlessは維持されなくなりました+++「インスタンスの予約」機能をリリースする前にGoolge AppEngineを使用している場合は、 Xydra Restless を検討することをお勧めします。
私は個人的には使用していませんが、一緒に仕事をしているチームの中には、Spring 3 MVCを使用している人もいます。 RESTのREST 3:@MVC は、ブログ投稿の概要のように見えます。 RESTful機能には、「URIテンプレート」、「コンテンツネゴシエーション」、「HTTPメソッド変換」、「ETagサポート」などがあります。
編集:また、この質問を参照してください: 誰もが推奨するJava MVCとサポートREST?