MeWrite Docs

GraphQL: Cannot query field on type

GraphQLフィールドクエリエラーの解決方法

概要

存在しないフィールドをクエリしようとした場合に発生するバリデーションエラーです。

エラーメッセージ

Cannot query field "username" on type "User". Did you mean "name"?

原因

  1. フィールド名の誤り: タイプミスやスキーマとの不一致
  2. スキーマ変更: APIのスキーマが更新された
  3. フラグメントの問題: インラインフラグメントの型が不正

解決策

1. スキーマを確認

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Introspectionクエリ
{
  __type(name: "User") {
    fields {
      name
      type {
        name
      }
    }
  }
}

2. 正しいフィールド名を使用

1
2
3
4
5
6
query GetUser {
  user(id: "1") {
    name        # usernameではなくname
    email
  }
}

3. フラグメントを使用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
fragment UserFields on User {
  id
  name
  email
}

query GetUser {
  user(id: "1") {
    ...UserFields
  }
}

よくある間違い

  • クライアントのキャッシュが古い
  • スキーマ変更後のコード更新忘れ

GraphQL の他のエラー

最終更新: 2025-12-09