メインコンテンツまでスキップ

REST APIによるサーバー・クライアント間の通信処理

REST APIによるサーバー・クライアント間の通信処理について記載します。

基本説明

本製品では、クライアントとサーバー間のデータ通信をREST APIを利用して行います。
REST APIは、クライアントからのリクエストをサーバーに届け、サーバーからのレスポンスを返す仲介役として機能します。

実装概要

REST APIの作成にはiAPが提供する「Web API Maker」を利用します。
Web API Makerの仕様詳細は、下記ドキュメントを参照してください。

実装手順

REST APIの作成および認可設定を行い、作成したREST APIを呼び出すまでの流れを説明します。

REST APIの作成

REST APIを作成します。

  • XXXServiceFactory.java
    ファクトリクラス、および、サービスクラスのインスタンス生成を行います。
  • XXXService.java
    REST APIに実装する処理を設定します。
  • XXXServiceInterface.java
    リクエスト情報を設定します。
  • XXXParam.java
    リクエストパラメータデータを定義します。
  • XXXResult.java
    クライアントへのレスポンスデータを定義します。
注意
  • 各ファイルのファイル名とクラス名またはインタフェース名は同一にしてください。
  • 本製品(PC版)では、セッション認証をサポートする@IMAuthenticationを認証方式として利用しています。
  • 新規でREST APIを作成する場合は、@Pathに指定するREST APIのURIは、api以下のパスが製品の命名規則と被らないように設定してください。

REST APIの認可設定

作成したREST APIを認可リソースとして登録し、ユーザに実行権限を付与します。

  1. テナント管理者としてログインし「グローバルナビ」-「テナント管理」-「認可」をクリックし、認可設定画面を表示します。

  2. リソースの種類を「DPS」に変更します。

  3. 作成したREST APIの認可リソースを追加します。

    備考

    「リソースURI」は、サービスインタフェースクラスファイル内の@Pathに付与したURIを指定してください。
    その他の項目は任意で設定してください。

  4. リソースに対して実行権限を付与する範囲を設定します。

参考ガイド

認可は標準機能を利用してインポートも可能です。
詳しくは、「intra-mart Accel Platform 認可仕様書」を参照してください。
https://document.intra-mart.jp/library/iap/public/im_authz/im_authz_specification/texts/components/administration/import_export.html

REST APIを実行する

クライアントサイド処理にて、REST APIの呼び出しを行います。 利用方法は下記を参照してください。

参考ガイド

intra-mart Accel Platform Web API Maker プログラミングガイド - 5. 作成したAPIの利用について
https://document.intra-mart.jp/library/iap/public/im_web_api_maker/im_web_api_maker_programming_guide/texts/how_to_use_api/index.html

参考

内部共通関数(REST API実行)

以下、参考として、本製品が内部利用しているREST API呼び出し用の共通関数を記載します。
関数の詳細については、対象のソースを参照してください。

REST API実行に利用する主なAPI一覧

対象ファイル:scmn/csjs/common.js
関数名:scmnAjaxRestGetData
内容:REST(ajax)でWebAPIを呼び出します。

内部共通関数(サーバー・クライアント間の一連する処理)

なお、本製品のクライアント処理では、以下の関数を利用してREST APIによるサーバ処理呼び出しから、画面への処理結果の表示までを行っています。

REST API実行を含むサーバー・クライアント間の一連の処理に利用できる主なAPI一覧

対象ファイル:ssfa/csjs/common/ssfa.js

  • ssfaPage_setSectionInputData
    詳細画面表示時および更新画面初期表示時の、登録情報の取得と画面への設定を行います。
    scmnAjaxRestGetDataを利用しWebAPI実行後、画面上に処理結果メッセージを表示します。 (例:取得処理に失敗しました。)
    取得が成功した場合、画面項目とのマッピングを行い、scmnSetInputItemDataを実行し、画面上への値の設定までを実行します。

  • ssfaPage_insert
    登録処理を実施します。 scmnAjaxRestGetDataを利用しREST API呼び出し後、画面上に処理結果メッセージを表示します。 (例:登録処理に失敗しました。)

  • ssfaPage_update
    更新処理を実施します。 scmnAjaxRestGetDataを利用しREST API呼び出し後、画面上に処理結果メッセージを表示します。 (例:更新処理に失敗しました。)

  • ssfaPage_delete
    削除処理を実施します。 scmnAjaxRestGetDataを利用しREST API呼び出し後、画面上に処理結果メッセージを表示します。 (例:更新処理に失敗しました。)

  • ssfaList_getData
    一覧の表示データの読み込みを実施します。 scmnAjaxRestGetDataを通してREST API呼び出し、一覧の表示データを返却します。

  • ssfaPage_getInputData
    入力画面から入力情報を取得します。 ssfaPage_updateやssfaPage_insertなどで入力情報を取得する際に合わせて利用します。