15

JSON RESTfulインターフェースJAVAサーブレットを使用)に関するチュートリアルはありますか?目的は、データの外部RESTインターフェースを呼び出し、クライアント(javascriptクライアント)によってデータを処理することです。

JAVAのJSONRESTインターフェイスが正確にどのようなものかわかりません...学習を開始するにはチュートリアルが必要なので、ここで質問します。

4

1 に答える 1

21

JSONは、JavaScript のサブセットに基づく軽量のデータ シリアル化形式です。

RESTful インターフェイスは、 REST アーキテクチャ スタイルの制約と特性に準拠するインターフェイスです。

したがって、この 2 つを組み合わせると、JSON RESTful インターフェイスは、REST アーキテクチャ スタイルに従い、JSON をデータ表現形式 (通常はコンテンツ タイプapplication/json) として使用するインターフェイスになります。

Java でこの種のサービスを実装するには、 JerseyRESTEasyなどのフレームワークが役立ちます。どちらも JSON をサポートする追加のコンポーネントを提供します (受信データと送信データの両方)。

編集:

Jersey と RESTEasy はどちらも JAX-RS 仕様を実装しているため、どちらも「純粋な」Java EE の方法として使用できます。Java EE のサーブレット部分のみを使用してこれを行う場合は可能ですが、URI からパス/テンプレート パラメーターを解析するなどの作業を自分で行う必要があります。

要素を使用してリソース URL を記述するのは難しいとservlet-mapping感じるかもしれません。その結果、JAX-RS に非常によく似たものを実装することになるかもしれません (URI を解析してリクエストを別のオブジェクトにディスパッチする 1 つのコントローラー サーブレットになってしまう場合)。 )。

これを実装する方法を決定する前に、REST についてもっと読むことをお勧めします。ここにいくつかのポインタがあります:

  • クライアントとサーバー間の通信はステートレスである必要があります。を避けてくださいHttpSession
  • REST はリソース中心であり、操作中心ではありません (RPC のように)。サービスが公開するリソースを考えて、これらの URI を指定してください。
  • REST リソースは、共通のインターフェースを介して操作されます。HTTP サービスの場合、このインターフェースは HTTP 動詞 (GET、POST、PUT、DELETE など) によって定義されます。RFC 2616 のセクション 9を読んで、各動詞のセマンティクスと、動詞がすべきこととすべきでないことに関する規則を理解してください。
  • RFC 2616 の応答ステータス コードと理由句を調べてください。これらは共通インターフェースの一部です。
  • RESTful サービスは、リソースの表現を返します。表現にはコンテンツ タイプがあります。クライアントが応答を理解できるように、このヘッダーを設定してください。

最後に、「純粋なサーブレット」ルートに進む場合でも、Jacksonのようなパーサー ライブラリを使用すると、JSON の読み取り/作成がはるかに簡単になることがあります。

于 2011-03-29T08:47:57.183 に答える