検索

2.17. RESTEasy JavaScript API

download PDF

2.17.1. RESTEasy JavaScript API について

RESTEasy は、AJAX 呼び出しを使用して JAX-RS 操作を呼び出す JavaScript API を生成できます。各 JAX-RS リソースクラスは、宣言するクラスまたはインターフェイスと同じ名前の JavaScript オブジェクトを生成します。JavaScript オブジェクトには、各 JAX-RS メソッドがプロパティーとして含まれています。

@Path("foo")
public class Foo {

  @Path("{id}")
  @GET
  public String get(@QueryParam("order") String order, @HeaderParam("X-Foo") String header,
    @MatrixParam("colour") String colour, @CookieParam("Foo-Cookie") String cookie) {
  }

  @POST
  public void post(String text) {
  }
}

以下の JavaScript コードは、前の例で生成した JAX-RS API を使用します。

var text = Foo.get({order: 'desc', 'X-Foo': 'hello', colour: 'blue', 'Foo-Cookie': 123987235444});
Foo.post({$entity: text});

各 JavaScript API メソッドは、任意のオブジェクトを単一のパラメーターとして取得します。ここでの各プロパティーは名前で識別される Cookie、ヘッダー、パス、クエリーまたはフォームパラメーター、または API パラメータープロパティーです。API パラメータープロパティーの詳細は、RESTEasy Javascript API Parameters の付録を参照してください。

2.17.1.1. RESTEasy JavaScript API サーブレットの有効化

RESTEasy JavaScript API はデフォルトで無効にされています。以下の手順に従って、web.xml ファイルを更新して有効にします。

  1. テキストエディターでアプリケーションの web.xml ファイルを開きます。
  2. 以下の設定を web-app タグ内のファイルに追加します。

    <servlet>
        <servlet-name>RESTEasy JSAPI</servlet-name>
        <servlet-class>org.jboss.resteasy.jsapi.JSAPIServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>RESTEasy JSAPI</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

2.17.1.2. ビルド AJAX クエリー

RESTEasy JavaScript API を使用すると、手動で要求を作成することができます。以下にこの動作の例をいくつか示します。

例: RESTEasy JavaScript API クライアントの動作をオーバーライドするために使用される REST オブジェクト

// Change the base URL used by the API:
REST.apiURL = "http://api.service.com";

// log everything in a div element
REST.log = function(text) {
  jQuery("#log-div").append(text);
};

REST オブジェクトには以下の読み書きプロパティーが含まれます。

  • apiURL: デフォルトでは JAX-RS ルート URL に設定されます。要求の作成時にすべての JavaScript クライアント API 機能によって使用されます。
  • log: RESTEasy クライアント API ログを受信するために function(string) に設定します。これは、クライアント API のデバッグ、およびそれらを確認できる場所のログの配置を行う場合に便利です。

例: REST.Request() メソッドを使用したカスタムリクエストの構築

var r = new REST.Request();
r.setURI("http://api.service.com/orders/23/json");
r.setMethod("PUT");
r.setContentType("application/json");
r.setEntity({id: "23"});
r.addMatrixParameter("JSESSIONID", "12309812378123");
r.execute(function(status, request, entity) {
  log("Response is " + status);
});

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.