GraphQL API の実装

logo cloud IDE Cloud IDE

logo desktop IDE Desktop IDE

これは進行中のベータリリースです。ベータ状態での Anypoint Code Builder の使用には、該当するベータサービス契約条件が適用されます。

このチュートリアルでは、Mule アプリケーションを最初から作成する方法と、Exchange にパブリッシュする GraphQL API を実装する方法を説明します。

始める前に

次の手順を実行します。

GraphQL API を Exchange にパブリッシュする

GraphQL API を実装するには、まず GraphQL API を Exchange に手動でパブリッシュする必要があります。

  1. Anypoint Exchange に移動します。

    手順を表示
  2. [Publish new asset (新規アセットをパブリッシュ)]​ をクリックします。

  3. [Name (名前)]​ に​「books-api」​と入力します。

  4. [Asset types (アセットタイプ)]​ では、​[GraphQL API]​ を選択します。

  5. [Method (方法)]​ では、​[Upload a GraphQL API Schema (GraphQL API スキーマをアップロード)]​ を選択します。

    upload graphql api exchange method select
  6. [File upload (ファイルアップロード)]​ では、​[Choose file (ファイルを選択)]​ をクリックして目的の ​books-api.graphql​ スキーマファイルを探します。

  7. [Lifecycle state (ライフサイクル状態)]​ では、​[Stable (安定)]​ を選択します。

  8. [Publish (パブリッシュ)]​ をクリックします。

GraphQL API を実装する

  1. Anypoint Code Builder に移動します。

  2. コマンドパレットを開きます。

    手順を表示
    • キーボードショートカットを使用する。

      • Mac: Cmd+Shift+p

      • Windows: Ctrl+Shift+p

    • デスクトップ IDE で、​[View (表示)]​ > ​[Command Palette (コマンドパレット)]​ を選択する。

    • クラウド IDE で、​​ (メニュー) アイコンをクリックし、​[View (表示)]​ > ​[Command Palette (コマンドパレット)]​ を選択する。

  3. 次のコマンドを入力します。

    MuleSoft: Implement an API Specification
  4. コマンドを選択します。

  5. 次の値を使用してプロジェクトを設定します。

    implement api configure in task
    1 Project Name (プロジェクト名)​: books-implementation
    2 [Project Location (プロジェクトの場所)]​: [Browse (参照)]​ をクリックしてホームディレクトリを選択します。
    3 Exchange にパブリッシュされた API 仕様を検索して実装します。
    「books」​の入力を開始して Return キーを押すと、可能な結果のリストが表示されます。​books-api​ アセットで ​[Add Asset (アセットを追加)]​ をクリックします。
    select books graphql api
  6. [Create Project (プロジェクトを作成)]​ をクリックします。

    Anypoint Code Builder では GraphQL API をスキャフォールディングし、ブック API GraphQL スキーマ内のタイプごとに空のフローを作成します。

    GraphQL スキーマ Mule フロー
    type Query {
      bookById(id: ID): Book
      books: [Book]
      bestsellers: Bestsellers
    }
    
    type Book {
      id: ID!
      name: String
      pageCount: Int
      author: Author
    }
    
    type Author {
      id: ID!
      firstName: String
      lastName: String
    }
    
    type Bestsellers {
      books: [Book]
      authors: [Author]
    }
    <flow name="Query.bookById"/>
    <flow name="Query.books"/>
    <flow name="Query.bestsellers"/>
    <flow name="Book.author"/>
    <flow name="Bestsellers.books"/>
    <flow name="Bestsellers.authors"/>

    Anypoint Code Builder では、各 Mule フローのソースとして ​<graphql-router:data-fetcher>​ も作成されます。データフェッチャーについての詳細は、データソースへの GraphQL API のマッピングを参照してください。

  7. GraphQL 実装のテストに進み、Anypoint Code Builder でアプリケーションを実行して、GraphQL クエリをエンドポイントに投稿します。