Мутация Flutter_graphql не запускает распознаватель сервера Apollo - PullRequest
0 голосов
/ 21 мая 2019

Я создаю приложение Flutter и повторно использую сервер appolographql. Проблема в том, что когда я мутирую во флаттере, функция распознавания не срабатывает.

Резольвер срабатывает при использовании игровой площадки, но не с флаттером.

Это код флаттера:

Mutation(
  options: MutationOptions(
    document: r"""
      mutation createOrUpdateHorse($horse:HorseInput,$entityid:ID) {
        createOrUpdateHorse(horse:$horse,entityid:$entityid) {
          id
          name
          status
          rating
        }
      }
    """,
    // variables: {
    //   "horse": {"id": 1, "status": "bu"},
    //   "entityid": 1
    // },
  ),
  builder: (
    RunMutation runMutation,
    QueryResult result,
  ) {
    return IconButton(
      icon: Icon(Icons.cloud_upload),
      onPressed: () => runMutation({
            "horse": {"id": 1, "status": "bu"},
            "entityid": 1
          }),
    );
  },
  onCompleted: (resultData) {
    print(resultData);
  },
),

Это тело запроса, полученное сервером в случае мутации флаттера

{ operationName: 'createOrUpdateHorse',
  variables: { entityid: 1, horse: { id: 1, status: 'bu' } },
  query:
   'mutation createOrUpdateHorse($horse:HorseInput,$entityid:ID) {\n                  createOrUpdateHorse(horse:$horse,entityid:$entityid) {\n                    
   id\n
   status\n
   }\n
  }\n
' }

Это тело запроса, полученное сервером в случае мутации детской площадки

{operationName:null,
variables:{},
query:
 mutation {\n  
   createOrUpdateHorse(horse: {id: 1, status: \"alo\"}, entityid: 5) 
{\n    
  id\n
  status\n  
}\n
}\n
}

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

Боже мой, это была глупая ошибка, я забыл "!"для HorseInput!.

0 голосов
/ 21 мая 2019

Какую версию graphql_flutter вы используете?в версии ^ 1.0.1 - мутация выглядит так:

r'''
mutation createOrUpdateHorse(
        $horse: HorseInput,
        $entityid: ID
        ){
        action: createOrUpdateHorse(
          input: {
            horse: $horse,
            entityid: $entityid
          }){
            id
            name
            status
            rating
          }
      } 
'''
...