2011-08-16 14 views
0

からJavaのAPIを作成しますそれが私のアプリケーションのためにどのように機能するかということです。しかし、他の人も私のアプリケーションを利用できるように外部アクセスを提供できるようにしたいのです。 これはhttp://mytest.com/Process?term=testによってアクセスできます。そして、そのようにアクセスすれば、レスポンスをresult.jspに転送します。レスポンスは基本的に私の他のクラス(Bean)オブジェクトであり、result.jspはオブジェクトを使用してさまざまなgetメソッドを呼び出してデータを取得します。は、私は、次の形式のクラスを持つJavaクラス

これを外部で利用できるようにするには、URLに別のパラメータを導入することを考えています。外部ページの人々がhttp://mytest.com/Process?term=test&request=apiでリクエストを送信できるようにしてから、その場所を外部の場所から確認することができます私は彼らがクラスへのアクセスを持っているとは思わないので、外部のクライアントに応答を返信し、オブジェクトをクライアントに送信することをお勧めします。

答えて

1

今、私はつまりAPI

にこのクラスを変換したい、あなたはWebサービスとしてそれを提供したいですか?


が、私は、彼らがクラスにアクセスする必要がありますとは思わないので、私は、クライアントにオブジェクトを送信するために外部のクライアントへの応答を返送し、その良いアイデア場合は方法がわかりません。

一般的な、固定で事前指定された形式で戻してください。たとえば、JSONまたはXML、さらにはCSVです。 Gsonの助けを借りて

JSON、:

Bean bean = createItSomehow(); 

response.setContentType("application/json"); 
response.setCharacterEncoding("UTF-8"); 

Gson gson = new Gson(); 
response.getWriter().write(gson.toJson(bean)); 

JAXBの助けを借りて、XML、:

Bean bean = createItSomehow(); 

response.setContentType("text/xml"); 
response.setCharacterEncoding("UTF-8"); 

JAXBContext context = JAXBContext.newInstance(Bean.class); 
Marshaller marshaller = context.createMarshaller(); 
marshaller.marshal(bean, response.getOutputStream()); 

のJava EEのAPIは必要がなくなり、まさにこの目的のためにJAX-WSJAX-RS APIのを提供しています低レベルのサーブレットAPIの定型文を使用してこの要件を達成します。

0

次のライブラリをご覧ください。 http://www.jboss.org/resteasy。それをセットアップして使い始めるのはとても簡単です。 このライブラリを使用して、現在の実装の上に残りのフルAPIラッパーを置くことができます。 あなたがしたいことがあれば教えてください。

関連する問題