2011-06-24 19 views
10

私はコンソールベースのアプリケーションを準備しています。アプリケーションの結果は、LinkedInのすべての接続のデータを含むRDF/XMLファイルです。問題は、アプリケーション全体がコンソールベースなので、アプリケーションに組み込むためにREST APIを用意する必要があるということです。REST API for Java?

私はREST APIとそれをJAVAでどのように使用するのか知らないが、ドキュメントを簡単に理解して理解することができます。私のアプリケーションはLinkedInのREST APIを使用します。

良いREST API for Javaをお勧めしますか?

+2

私が正しくあなたを理解していれば、[この]リンクを試してみてください(http://blogs.oracle.com。/enterprisetechtips/entry/consuming_restful_web_services_with) –

答えて

22

JAX-RSは、RESTful Webサービス用の標準Java APIです。 Jerseyはこれのリファレンス実装であり、サーバーサイドとクライアントサイドのAPIを備えています(コード内のメソッドをRESTfulなWebサービスとして公開する方法と、他の場所で実行されているRESTfulなWebサービスと対話する方法)。

JAX-RSの他の実装もあります。例えば、Apache CXFJBoss RESTEasyです。

+0

ありがとう...私はこれが最高と初心者のための最も簡単なアプローチだと思う多くを参照した後。 –

+0

上記のいくつかの例を教えてもらえますか? –

+1

ジャージーには、[ユーザーガイド](http://jersey.java.net/nonav/documentation/latest/user-guide.html#d4e8)が付いています。 – Jesper

1

クイックコード例は:

1)Mavenを使用している場合(あなたのポンポンでjavax.ws.rs依存関係を追加します)、またはそれをダウンロードしてください。

<dependency> 
      <groupId>javax.ws.rs</groupId> 
      <artifactId>jsr311-api</artifactId> 
      <version>1.1.1</version> 
    </dependency> 

2)サービスのパスを定義する空のクラスを作成します。例えばapplication/service/restで聞くためにあなたのAPIのコントローラを作成します)

import javax.ws.rs.ApplicationPath; 
import javax.ws.rs.core.Application; 

@ApplicationPath("/service/rest") 
public class WebConfig extends Application { 
} 

3になります。私たちはこれらの呼び出しが必要な場合たとえば: application/service/rest/resource/{id}を単純なコードは次のようになります。

import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.PathParam; 
import javax.ws.rs.core.Response; 
import javax.ws.rs.core.Response.Status;  

@Path("resource/{id}") 
public class ApiController { 

    /** 
    * Call: <code>/service/rest/resource/23</code> 
    * @return HTTP Response 
    */ 
    @GET 
    public Response getResource(@PathParam("id") String anId) { 
    Resource myResource = whatever.get(anId); 
    return Response.status(Status.OK).entity(myResource).build(); 
    } 

4)私たちはJSONレスポンスは、あなたのリソースとタイプのgetterがあることを確認してください指定したい場合は、次の

@GET 
@Produces("application/json") 
public Response getResource(@PathParam("id") String anId) { 
    // the same 
} 
0

Javaコードをクラウドにホストすることを検討している場合は、Raimme Platformを使用すると、1つのアノテーションだけでREST APIエンドポイントを公開できます。

データベースオブジェクト/テーブルmy.app.Customerがあり、特定の名前に一致するすべての顧客を返すためのエンドポイントを作成するとします。 Raimmeで次のように、あなたがこれを達成するであろう:

@Rest(url = "customers/find") 
public List<Customer> find(@Param("keyword") String keyword) 
{ 
    return { select id, name, company.name from my.app.Customer where name ilike '%#keyword%' }; 
} 

あなたがよりここに見つけることができます:http://raimme.com/devcenter?questionId=1cg000000000g