Я не совсем понимаю, в чем же ошибка, чтобы быть в состоянии решить эту проблему.Проверка консоли сервера также не показывает описательную ошибку.Я добавил весь необходимый код, связанный с этой проблемой.
Вот мутация:
mutation SaveTrials($event: ID!, $input: [ResultTrialsInputType!]!) {
saveTrials(event: $event, results: $input) {
results {
id
trials
}
}
}
Я использую графен (Python) в бэкэнде, но типы соответствуют следующему:
input ResultTrialsInputType {
id: ID
person: ID!
trials: [String]
}
Вот код Python, если он имеет значение:
class ResultTrialsInputType(graphene.InputObjectType):
id = graphene.ID()
person = graphene.ID(required=True)
trials = graphene.List(graphene.String)
Когда я отправляю данные с аполлона, используя приведенную выше мутацию, это то, что отправляется в API:
{
"operationName": "SaveTrials",
"variables": {
"event": "207e9f27-be66-4564-9c28-ac92ec44235d",
"input": [
{
"id": "8eb80b8b-c93a-44b1-9624-e75436c13780",
"trials": [
"32.1",
"92.2",
"12.1",
"12.2",
"23.2",
""
],
"__typename": "ResultTrialsObjectType",
"person": "a6f18ab5-df23-421e-b916-73e569bf73ad"
}
]
},
"query": "mutation SaveTrials($event: ID!, $input: [ResultTrialsInputType!]!) {\n saveTrials(event: $event, results: $input) {\n results {\n id\n trials\n __typename\n }\n __typename\n }\n}\n"
}
Ответом на этот запрос является ошибка об "__typename":
{
"errors": [
{
"message": "Variable \"$input\" got invalid value [{\"__typename\": \"ResultTrialsObjectType\", \"person\": \"a6f18ab5-df23-421e-b916-73e569bf73ad\", \"id\": \"8eb80b8b-c93a-44b1-9624-e75436c13780\", \"trials\": [\"32.1\", \"92.2\", \"12.1\", \"12.2\", \"23.2\", \"\"]}].\nIn element #0: In field \"__typename\": Unknown field.",
"locations": [
{
"line": 1,
"column": 34
}
]
}
]
}
В любом другом месте моего приложения, где входной аргумент не является массивом пользовательских объектов, как ожидалось.В чем здесь дело?Я неправильно устанавливаю свои входные аргументы?Или я что-то здесь упускаю?
Я пытался вручную добавить __typename
к типу ввода;однако ничего не произошло.
Спасибо!
РЕДАКТИРОВАТЬ: Теперь, когда я проверяю это, по какой-то причине __typename
отображается как ResultTrialsObjectType
, но это должно быть ResultTrialsInputType
.Как генерируется это значение?Apollo генерирует его или сервер генерирует, а Apollo получает его?