Ionic アプリケーションからのリソース要求

improve this page | report issue

概説

MobileFirst アプリケーションは WLResourceRequest REST API を使用してリソースにアクセスできます。
REST API は、すべてのアダプターおよび外部リソースで機能します。

前提条件:

WLResourceRequest

WLResourceRequest クラスは、アダプターまたは外部リソースに対するリソース要求を処理します。

WLResourceRequest オブジェクトを作成し、リソースへのパスと HTTP メソッドを指定します。
使用可能なメソッドは、WLResourceRequest.GETWLResourceRequest.POSTWLResourceRequest.PUT、および WLResourceRequest.DELETE です。

var resourceRequest = new WLResourceRequest(
    "/adapters/JavaAdapter/users",
    WLResourceRequest.GET
);
  • JavaScript アダプター の場合は、/adapters/{AdapterName}/{procedureName} を使用します。
  • Java アダプターの場合は、/adapters/{AdapterName}/{path} を使用します。 path は、Java コードで @Path アノテーションをどのように定義したかによって決まります。 これには、使用した @PathParam も含まれます。
  • プロジェクトの外部にあるリソースにアクセスするには、外部サーバーの要件のとおりに完全な URL を使用してください。
  • タイムアウト: オプション。ミリ秒単位の要求タイムアウトです。

要求の送信

send() メソッドを使用してリソースを要求します。
send() メソッドは、HTTP 要求に本体を設定するためのオプション・パラメーターを使用します。この本体は、JSON オブジェクトまたは単純なストリングの場合があります。

TypeScript の promises を使用して、Success コールバック関数と Failure コールバック関数を定義できます。

resourceRequest.send().then(
    (response) => {
      // Success
    },
    (error) => {
      // Failure
    }
)

setQueryParameter

setQueryParameter メソッドを使用すると、照会 (URL) パラメーターを REST 要求に含めることができます。

resourceRequest.setQueryParameter("param1", "value1");
resourceRequest.setQueryParameter("param2", "value2");

JavaScript アダプター

JavaScript アダプターは、名前のない順序付きのパラメーターを使用します。 パラメーターを JavaScript アダプターに渡すには、以下のように名前 params を使用してパラメーターの配列を設定します。

注: params 値は、配列のストリング表現でなければなりません。

resourceRequest.setQueryParameter("params", "['value1', 'value2']");

これは、WLResourceRequest.GET と一緒に使用してください。

setHeader

setHeader メソッドを使用して、REST 要求で新規 HTTP ヘッダーを設定したり、既存のヘッダーを同じ名前で置換したりすることができます。

resourceRequest.setHeader("Header-Name","value");

sendFormParameters(json)

URL エンコード形式のパラメーターを送信するには、代わりに sendFormParameters(json)メソッドを使用します。 このメソッドは、JSON を URL エンコードのストリングに変換し、content-typeapplication/x-www-form-urlencoded に設定して、それを HTTP 本体として設定します。

var formParams = {"param1": "value1", "param2": "value2"};
resourceRequest.sendFormParameters(formParams);

JavaScript アダプター

JavaScript アダプターは、名前のない順序付きのパラメーターを使用します。 パラメーターを JavaScript アダプターに渡すには、以下のように名前 params を使用してパラメーターの配列を設定します。

var formParams = {"params":"['value1', 'value2']"};

これは、WLResourceRequest.POST と一緒に使用してください。

WLResourceRequest について詳しくは、ユーザー文書の API リファレンスを参照してください。

応答

onSuccessonFailure の両方のコールバックは、response オブジェクトを受け取ります。 response オブジェクトには応答データが含まれており、そのプロパティーを使用して必要な情報を取得することができます。 よく使用されるプロパティーは、responseTextresponseJSON(応答が JSON の場合は JSON オブジェクト)、および status (応答の HTTP 状況) です。

要求が失敗した場合、response オブジェクトには errorMsg プロパティーも含まれています。
Java アダプターまたは JavaScript アダプターを使用しているかどうかに応じて、応答には、responseHeadersresponseTimestatusCodestatusReasontotalTime などの他のプロパティーが含まれる場合があります。

{
  "responseHeaders": {
    "Content-Type": "application/json",
    "X-Powered-By": "Servlet/3.1",
    "Content-Length": "86",
    "Date": "Mon, 15 Feb 2016 21:12:08 GMT"
  },
  "status": 200,
  "responseText": "{\"height\":\"184\",\"last\":\"Doe\",\"Date\":\"1984-12-12\",\"age\":31,\"middle\":\"C\",\"first\":\"John\"}",
  "responseJSON": {
    "height": "184",
    "last": "Doe",
    "Date": "1984-12-12",
    "age": 31,
    "middle": "C",
    "first": "John"
  },
  "invocationContext": null
}

応答の処理

応答オブジェクトは、Success コールバック関数および Failure コールバック関数によって受信されます。
例えば、次のとおりです。

resourceRequest.send().then(
    (response) => {
      resultText = "Successfully called the resource: " + response.responseText;
    },
    (error) => {
      resultText = "Failed to call the resource:" + response.errorMsg;
    }
)

詳細情報

WLResourceRequest について詳しくは、API リファレンスを参照してください

サンプル・アプリケーションのイメージ

サンプル・アプリケーション

ResourceRequestIonic プロジェクトは、Java アダプターを使用したリソース要求を例示します。
アダプター Maven プロジェクトには、リソース要求呼び出し中に使用される Java アダプターが含まれています。

ここをクリックして、Ionic プロジェクトをダウンロードします。
ここをクリック してアダプター Maven プロジェクトをダウンロードします。

サンプルの使用法

サンプルの README.md ファイルの指示に従ってください。

Last modified on October 05, 2018