Monaca アプリで使えるGraphQL のデータ連携用のバックエンドAPI をノーコードで開発

宮本航太
宮本航太
プロダクトスペシャリスト
ハイブリッドアプリ開発プラットフォームMonaca から GraphQL のデータに接続するためのバックエンドAPI Server をCData API Server で構築



CData API Server を使って、Monaca ハイブリッドアプリ開発プラットフォーム(https://ja.monaca.io/) から GraphQL に接続してデータを取得する方法を説明します。

API Server の設定

以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなGraphQL OData サービスを作成していきましょう。

GraphQL への接続

Monaca からGraphQL のデータを操作するには、まずGraphQL への接続を作成・設定します。

  1. API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。 接続を追加
  2. 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「GraphQL」を選択します。
  3. 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
    CData コネクタの追加方法はこちら >>
  4. それでは、GraphQL への接続設定を行っていきましょう! 接続設定
  5. GraphQL サービスのURL を指定する必要があります。 ドライバーは2種類の認証をサポートします。

    • Basic: AuthScheme をBasic に設定。GraphQL サービスのUserPassword を指定する必要があります。
    • OAuth 1.0 & 2.0: 詳しい説明は、ヘルプドキュメントのOAuth セクションを参照してください。
  6. 接続情報の入力が完了したら、「保存およびテスト」をクリックします。

GraphQL サービスのURL を指定する必要があります。 ドライバーは2種類の認証をサポートします。

  • Basic: AuthScheme をBasic に設定。GraphQL サービスのUserPassword を指定する必要があります。
  • OAuth 1.0 & 2.0: 詳しい説明は、ヘルプドキュメントのOAuth セクションを参照してください。

API Server のユーザー設定

次に、API Server 経由でGraphQL にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。

  1. 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
  2. 次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
  3. その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。

GraphQL 用のAPI エンドポイントの作成

ユーザーを作成したら、GraphQL のデータ用のAPI エンドポイントを作成していきます。

  1. まず、「API」ページに移動し、 「 テーブルを追加」をクリックします。
  2. アクセスしたい接続を選択し、次へをクリックします。
  3. 接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。

OData のエンドポイントを取得

以上でGraphQL への接続を設定してユーザーを作成し、API Server でGraphQL データのAPI を追加しました。これで、OData 形式のGraphQL データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。

オンプレミスDB やファイルからのAPI Server 使用(オプション)

オンプレミスRDB やExcel/CSV などのファイルのデータを使用する場合には、API Server のCloug Gateway / SSH ポートフォワーディングが便利です。是非、Cloud Gatway の設定方法 記事を参考にしてください。

Monaca で作成したモバイルアプリでの GraphQL のデータ取得

Monacaではクラウド上にあるIDEが用意されていますので、まずはアカウント作成します。そこからCData API Server のデータをMonaca アプリ使う設定を作成していきます。

  1. ブラウザより Monaca のダッシュボードを開き、「新しいプロジェクトを作る」をクリックします。
  2. Monaca
  3. まずはテンプレートの種類は、フレームワークテンプレートを選択します。
  4. Monaca
  5. 今回は JavaScript を選択します。
  6. Monaca
  7. テンプレートは「Onsen UI V2 JS Navigation」を選択します。テンプレの画面構成は、「Push page」ボタンをクリックすると、画面遷移するものとなっています。
  8. Monaca
  9. 任意のプロジェクト名を設定し、「作成」ボタンをクリックします。
  10. Monaca
  11. 作成したプロジェクトを選択した状態で、「クラウドIDEで開く」をクリックします。
  12. Monaca
  13. 検索ボタンがクリックされたら、先ほど作成した API を Ajax で呼び出すようにしています。
    Monaca
    API Server で作成したエンドポイントをURL に設定し、ヘッダーにAPI Server のアクセストークンを設定します。
    Monaca
  14. レスポンスが返ってきた後、処理が成功していればリストにname だけを1データずつ加えています。

デバッグ実行してみる

Monaca でデバッグを行う際は、Monacaデバッガーアプリを実機にインストールすることで、MonacaのクラウドIDE と実機で動かしているMonacaデバッガーアプリが連動するようです。そのため、いちいちコードを修正してからのビルドが不要になるため、素早く検証を行うことができます。

また、Monaca Localkit を使うことで、ローカルの開発環境でも利用することができます。今回はこのLocalkit を使って vscode 上でコードを修正し、アプリ内容を確認していきました。

Monaca Localkit を起動し、プレビューを押すとすぐにアプリ画面が表示されます。

Monaca

初期画面→検索→画面遷移まで確認することができました。

Monaca

このように GraphQL 内のデータをMonaca アプリで利用することができるようになります。

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ