Hitachi

JP1 Version 12 JP1/Navigation Platform ナビゲーション プラットフォーム コンテンツ作成ガイド


5.12.2 RestClient(REST呼び出しクラス)

RestClientのメソッドを次に示します。なお,RestClientのメソッドは、Webブラウザ(クライアント側)で実行するJavaScriptでは使用できません。

表5‒8 RestClientのメソッド一覧

メソッド名

説明

addHeader

URL呼び出しを実行するときのHTTPヘッダを追加します。

addParameter

URL呼び出しを実行するときのパラメタを追加します。

execute

URL呼び出しを実行します。

setAuthentication

Basic認証の認証情報を設定します。

setMethod

URL呼び出しを実行するときのメソッドを設定します。

setPostContent

POSTメソッドでURL呼び出しを実行するときに送信するコンテンツを設定します。

setPostContentType

POSTメソッドでURL呼び出しを実行するときに送信するコンテンツの型を設定します。

setProxy

URL呼び出しを実行するときに使用するプロキシを設定します。

setReturnType

URL呼び出しを実行したときのサーバからの戻り電文の型を設定します。

setUrl

URL呼び出しを実行するときに使用する呼び出し先URLを設定します。

〈この項の構成〉

(1) addHeaderメソッド

URL呼び出しを実行するときのHTTPヘッダを追加します。追加したHTTPヘッダは,executeメソッドの実行の際に設定されます。同じ名前のヘッダを追加した場合は上書きされます。

(a) 形式

RestClient addHeader(String name, String value);

(b) 引数

  • name

    URL呼び出しを実行するときに追加するHTTPヘッダの名称を指定します。

  • value

    URL呼び出しを実行するときに追加するHTTPヘッダの値を指定します。

(c) 戻り値

呼び出し元のRestClientオブジェクトが返されます。

(d) 例外

なし

(2) addParameterメソッド

URL呼び出しを実行するときのパラメタを追加します。追加したパラメタは,executeメソッドの実行の際に設定されます。同じ名前のパラメタを追加した場合は上書きされます。

(a) 形式

RestClient addParameter(String name, String value);

(b) 引数

  • name

    URL呼び出しを実行するときに追加するパラメタの名称を指定します。

  • value

    URL呼び出しを実行するときに追加するパラメタの値を指定します。

(c) 戻り値

呼び出し元のRestClientオブジェクトが返されます。

(d) 例外

なし

(3) executeメソッド

URL呼び出しを実行します。

URL呼び出しを実行したときの処理内容を次に示します。

(a) 形式

Object execute() throws UCNPUserException;

(b) 引数

なし

(c) 戻り値

setReturnTypeメソッドで設定された戻り電文の型に応じて,次の値が返されます。

  • RestClientインスタンス.RETURNTYPE_STRING:戻り電文そのままの文字列

  • RestClientインスタンス.RETURNTYPE_JSON:戻り電文を格納したObject型

  • RestClientインスタンス.RETURNTYPE_XML:戻り電文を格納したorg.w3c.dom.Document型

(d) 例外

このメソッドでエラーが発生した場合,UCNPUserException例外がスローされます。

javax.ws.rs.WebApplicationException例外がスローされて入れ子になっている場合は,URL呼び出し時のエラーの詳細を確認できます。javax.ws.rs.WebApplicationException例外の対処については呼び出し元のAPIを確認してください。

例外処理の記述例を次に示します。

■RESTサーバの前提

呼び出し先のRESTサーバからは{"initvalues":{"text1":"30"}}というJSON形式の文字列が返却される。

■例外処理の概要

  • 呼び出しが成功した場合は,initvalues.text1の値である「30」を変数resultに格納する。

  • 呼び出しで「404 NotFound」のエラーが発生した場合は,変数errmsgに「Not found」という文字列を格納する。

■記述例

var result;
var errmsg = "";
try {
  var client = ucnpJavaScriptPluginManager.getRestClient();
  var json = client.execute();
  result = json.initvalues.text1;
} catch (ex) {
  errmsg = ex;
  if (ex instanceof Java.type("jp.co.hitachi.soft.ucnp.base.common.UCNPUserException")) {
    var ex2 = ex.getCause();
    if (ex2 instanceof Java.type("javax.ws.rs.WebApplicationException")) {
      if (ex2.getResponse().getStatus() == 404) {
        errmsg = "Not found";
      }
    }
  }
}

(4) setAuthenticationメソッド

Basic認証の認証情報を設定します。

Authorization HTTPヘッダを指定されたユーザ名とパスワードで設定します。

(a) 形式

RestClient setAuthentication(String user, String password);

(b) 引数

  • user

    Basic認証に使用するユーザのユーザ名を指定します。

  • password

    Basic認証に使用するユーザのパスワードを指定します。

(c) 戻り値

呼び出し元のRestClientオブジェクトが返されます。

(d) 例外

なし

(5) setMethodメソッド

URL呼び出しを実行するときのメソッドを設定します。

このメソッドが呼び出されない場合,デフォルトで設定されるメソッドはRestClientインスタンス.METHOD_GETとなります。

(a) 形式

RestClient setMethod(int method);

(b) 引数

  • method

    次のどちらかを指定します。

    • RestClientインスタンス.METHOD_GET:GETメソッドを指定する場合

    • RestClientインスタンス.METHOD_POST:POSTメソッドを指定する場合

(c) 戻り値

呼び出し元のRestClientオブジェクトが返されます。

(d) 例外

なし

(6) setPostContentメソッド

POSTメソッドでURL呼び出しを実行するときに送信するコンテンツを設定します。

(a) 形式

RestClient setPostContent(String content);

(b) 引数

  • content

    URL呼び出しを実行するときに送信するコンテンツを指定します。

(c) 戻り値

呼び出し元のRestClientオブジェクトが返されます。

(d) 例外

なし

(7) setPostContentTypeメソッド

POSTメソッドでURL呼び出しを実行するときに送信するコンテンツの型を設定します。

このメソッドが呼び出されない場合,デフォルトで設定されるコンテンツの型はtext/jsonとなります。

(a) 形式

RestClient setPostContentType(String type);

(b) 引数

  • type

    URL呼び出しを実行するときに送信するコンテンツの型を指定します。

(c) 戻り値

呼び出し元のRestClientオブジェクトが返されます。

(d) 例外

なし

(8) setProxyメソッド

URL呼び出しを実行するときに使用するプロキシを設定します。

このメソッドが呼び出されない場合,プロキシを使用せずに直接呼び出し先URLに接続します。

(a) 形式

RestClient setProxy(String host, int port, String user, String password);

(b) 引数

  • host

    プロキシのホスト名を指定します。

  • port

    プロキシのポート番号を指定します。

  • user

    プロキシで認証が必要な場合に指定するユーザのユーザ名を指定します。プロキシで認証が不要のときはnullを指定してください。

  • password

    プロキシで認証が必要な場合に指定するユーザのパスワードを指定します。プロキシで認証が不要のときはnullを指定してください。

(c) 戻り値

呼び出し元のRestClientオブジェクトが返されます。

(d) 例外

なし

(9) setReturnTypeメソッド

URL呼び出しを実行したときのサーバからの戻り電文の型を設定します。

このメソッドで指定した型に応じて,戻り電文の解釈方法と戻り値が変わります。

(a) 形式

RestClient setReturnType(int type);

(b) 引数

  • type

    戻り電文の型を指定します。指定できる型を次に示します。

    • RestClientインスタンス.RETURNTYPE_STRING:戻り電文が文字列の場合

    • RestClientインスタンス.RETURNTYPE_JSON:戻り電文がJSONの場合

    • RestClientインスタンス.RETURNTYPE_XML:戻り電文がXMLの場合

(c) 戻り値

呼び出し元のRestClientオブジェクトが返されます。

(d) 例外

なし

(10) setUrlメソッド

URL呼び出しを実行するときに使用する呼び出し先URLを設定します。

このメソッドが呼び出されない場合,JavaScriptプラグインの#url([属性の設定]画面の[URL]テキストボックスで設定した値)のキャッシュ値がデフォルト値として設定されます。

(a) 形式

RestClient setUrl(String url);

(b) 引数

  • url

    呼び出し先URLを指定します。

(c) 戻り値

呼び出し元のRestClientオブジェクトが返されます。

(d) 例外

なし