(AWS) GraphQL クエリをカスタマイズする

GraphQLのクエリは、Amplify pushによって自動生成されます。そのまま使うことも可能ですが、いろいろな利用シーンで不都合が生じる場合があります。不都合を解消するために、クエリをカスタマイズして利用する事ができます。

graphql.schemaの宣言例

生成されたquery.js(一部抜粋)では

ユーザー名で検索するクエリですが、このまま利用すると、CompanyInfoを取得できません。companyIDを利用して別クエリを発行する必要が出てきます。そこで、以下の様にカスタマイズすることで、1度の発行でCompanyInfoを取得することができます。

const searchUsers = /* GraphQL */ `
  query SearchUsers(
    $companyID: ID!
    $username: ModelStringKeyConditionInput
    $sortDirection: ModelSortDirection
    $filter: ModelUserFilterInput
    $limit: Int
    $nextToken: String
  ) {
    searchUsers(
      companyID: $companyID
      username: $username
      sortDirection: $sortDirection
      filter: $filter
      limit: $limit
      nextToken: $nextToken
    ) {
      items {
        id
        createdAt
        updatedAt
        username
        mailaddress
        companyID
        companyinfo{
            company_name
        }
      }
      nextToken
    }
  }
`;

今回は、簡単な例ですが、さらにカスタマイズが可能になります(つづきは後日)

(記事のお問合せ・無料相談 → こちら