5.12.2 RestClient(REST呼び出しクラス)
RestClientのメソッドを次に示します。なお,RestClientのメソッドは、Webブラウザ(クライアント側)で実行するJavaScriptでは使用できません。
メソッド名 |
説明 |
---|---|
URL呼び出しを実行するときのHTTPヘッダを追加します。 |
|
URL呼び出しを実行するときのパラメタを追加します。 |
|
URL呼び出しを実行します。 |
|
Basic認証の認証情報を設定します。 |
|
URL呼び出しを実行するときのメソッドを設定します。 |
|
POSTメソッドでURL呼び出しを実行するときに送信するコンテンツを設定します。 |
|
POSTメソッドでURL呼び出しを実行するときに送信するコンテンツの型を設定します。 |
|
URL呼び出しを実行するときに使用するプロキシを設定します。 |
|
URL呼び出しを実行したときのサーバからの戻り電文の型を設定します。 |
|
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呼び出しを実行したときの処理内容を次に示します。
-
addHeaderメソッドまたはsetAuthenticationメソッドでHTTPヘッダが指定されている場合は,HTTPヘッダに設定します。
-
setMethodメソッドで指定されたメソッドがRestClientインスタンス.METHOD_POSTの場合は,次の処理を行います。
-
setPostContentメソッドでコンテンツが指定されているとき
送信するコンテンツとして設定し,コンテンツの型にはsetPostContentTypeメソッドで指定されている値を設定します。
-
setPostContentメソッドでコンテンツが指定されていないとき
addParameterメソッドで指定されているパラメタをコンテンツとして設定します。
-
-
setMethodメソッドで指定されたメソッドがRestClientインスタンス.METHOD_GETの場合は,addParameterメソッドで指定されているパラメタをコンテンツとして設定します。
-
setUrlメソッドで指定されている呼び出し先URLを,setMethodメソッドで指定されているメソッドで実行して,戻り電文を取得します。
-
setReturnTypeメソッドで指定されている戻り電文の型がRestClientインスタンス.RETURNTYPE_JSONの場合は,戻り電文をJavaScriptの書式としてパースし,JSON Object型として結果を返します。
-
setReturnTypeメソッドで指定されている戻り電文の型がRestClientインスタンス.RETURNTYPE_XMLの場合は,戻り電文をXMLの書式としてパースし,org.w3c.dom.Document型として結果を返します。
(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) 例外
なし