GraphQLでのデータ取得時にフィールド名を別名で取得する

公開日時
更新日時

GraphQLでQueryを実行した際のレスポンスのうち、一部のフィールドを別名で取得したい場合にどうやるのかを調べた。

以下のようなbookというqueryがあったとして、thumbnailUrlにimageという別名を付けたい場合、

const QUERY = gql`
  query book {
    title
    thumbnailUrl
  }
`;

const client = new ApolloClient({ uri: process.env.GRAPHQL_URI });
const { data } = await ApolloClient.query({ query: QUERY });

console.log(data.book.title);
console.log(data.book.thumbnailUrl);

以下のように[[image: thumbnailUrl]]と指定すれば別名で取得できるようになる。

query book {
  title
  image: thumbnailUrl
}

// ...
console.log(data.book.image);

query自体に別名をつけることもできる。

query b: book {
  title
}

// ...
console.log(data.b.title);

参考


Related #js

AWS SESの受信メールを暗号化してs3に保存しLambdaで読み込む

jsの場合、複合処理を独自実装する必要がある

Next.jsのPreview Mode時はAnalyticsを無効化する

cookieの__next_preview_dataキーで判定

Next.js 11

手軽にアップグレードできた

VSCode Remoteで新規ファイルを作った際にTypescriptのPathが認識されない問題

「Ctrl + Shift + P」でコマンドパレットを開いて「Reload Window」を実行