進行中のベータリリース​: クラウド IDE は進行中のベータリリースです​。ベータ状態での Anypoint Code Builder の使用には、IDE で入手できる、該当するベータサービス契約条件が適用されます。

GraphQL API の実装

Anypoint Exchange に GraphQL API スキーマをパブリッシュします。次に、Anypoint Code Builder を使用して、スキーマを Mule アプリケーションにインポートしてスキャフォールディングします。インターフェースを実行して実装します。

始める前に

次の手順を実行します。

  • MuleSoft 環境をセットアップします。 詳細は、『Anypoint Code Builder 入門』を参照してください。

  • ブック API​ GraphQL スキーマ』​をダウンロードします。

    または、次のコンテンツが含まれる ​books-api.graphql​ という名前のファイルを作成します。
    schema {
      query: Query
    }
    
    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]
    }
    graphql

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 スキーマをアップロード)]​ を選択します。

    GraphQL API アセットをパブリッシュするフォーム
  6. [File upload (ファイルアップロード)]​ では、​[Choose file (ファイルを選択)]​ をクリックして目的の ​books-api.graphql​ スキーマファイルを探します。

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

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

GraphQL API スキーマを実装する

Anypoint Code Builder を使用して Anypoint Exchange のスキーマを取得し、デスクトップ IDE またはクラウド IDE から実装できるインターフェースにスキーマをスキャフォールディングします。

  1. Anypoint Code Builder を開きます。

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

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

    MuleSoft: Implement an API Specification
    command
  4. Anypoint Platform にサインインするように求められたら、​[Allow (許可)]​ をクリックして、プロンプトに従ってサインインします。

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

    新しい API 仕様を実装するフォーム
    1. Project Name (プロジェクト名)​: books-implementation

    2. [Project Location (プロジェクトの場所)]​: [Browse (参照)]​ をクリックしてホームディレクトリを選択します。

    3. Exchange で​「books」​と入力して Return キーを押し、​books-api​ 仕様を検索して結果を表示します。

    4. 検索結果で ​books-api​ の上にマウスポインターを置き、表示される ​[Add Asset (アセットを追加)]​ ボタンをクリックします。

      [Add Asset (アセットを追加)] ボタンが強調表示されている、使用可能な API 仕様のテーブル
    5. Mule Runtime​ および ​Java​ バージョンを入力します。

  6. [Create Project (プロジェクトを作成)]​ をクリックします。

  7. 確認を促されたら、API 仕様の作成者を信頼します。

    信頼しないと、IDE からプロジェクトの作業を行うことができません。

    作成者を信頼すると、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]
    }
    GraphQL
    <flow name="Query.bookById"/>
    <flow name="Query.books"/>
    <flow name="Query.bestsellers"/>
    <flow name="Book.author"/>
    <flow name="Bestsellers.books"/>
    <flow name="Bestsellers.authors"/>
    XML

    各フローには、​<graphql-router:data-fetcher/>​、​<set-payload/>​、​<graphql-router:serialize/>​ 要素の設定が含まれます。 <graphql-router:data-fetcher>​ 要素は、フローのトリガーとして機能します。データフェッチャーについての詳細は、『データソースへの GraphQL API のマッピング』を参照してください。

  8. 『GraphQL プロジェクトをテストする』に進み、Anypoint Code Builder でアプリケーションを実行して、GraphQL クエリをエンドポイントに投稿します。