UNION型に対してクエリする時、フィールド名が一緒だが型が違うため、競合エラーを起こした
{ firstSearchResult { ... on Person { value { name } } ... on Photo { value { name } } } }
{
...
"message": "Fields \"value\" conflict because they return conflicting types xxx and [xxx]. Use different aliases on the fields to fetch both if this was intentional.",
...
}
これを防ぐために、GraphQLエイリアスを使うことを知った
Queries and Mutations | GraphQL
aliasName: fieldNameの形にすればよく
次のように書き直すことで競合を防いで、それぞれpersonとphotoでフィールドを分けることができるようになった
{ firstSearchResult { ... on Person { person: value { name } } ... on Photo { photo: value { name } } } }