Запрос мутации Graphql не работает с express-graphql - PullRequest
0 голосов
/ 31 мая 2018

Я новичок в graphql.Я использую express-graphql для генерации запросов graphql по API REST для схемы petSore .Я могу получить результат для GET API, используя graphql Queries , но не могу получить ответ для POST / PUT API, используя Mutations .) Для создания питомца я использую мутацию как,

 mutation {
     addPet(body: {id: "111", name: "doggie", photoUrls:["http://localhost:3000/pics/doggie"]}) {
          name,
          id
     }
 }

При выполнении этого запроса на локальном хосте: 3000 / graphql я получаю сообщение об ошибке в бэкэнде (ошибка nodejs) как,

uncaughtException: First argument must be a string or Buffer...

Было бы здорово, если бы кто-то помог мне понять, что я делаю здесь неправильно ...

Код Node.js:

'use strict';
 var graphqlHTTP = require('express-graphql');
 var graphQLSchema = require('swagger-to-graphql');
 var pathToSwaggerSchema = require('./schema.json');

 module.exports = function(server) {
 var router = server.loopback.Router();
 router.get('/', server.loopback.status());
 graphQLSchema(pathToSwaggerSchema).then(schema => {
 server.use('/graphql', graphqlHTTP((req) => {
    return {
      schema: schema,
      context: {
      GQLProxyBaseUrl: 'http://localhost:3000/api/v2/',
    },
    graphiql: true,
  };
}));
  }).catch(e => {
   throw e;
  });
  server.use(router);
 };

Процесс, которому я должен следовать:

  1. Преобразование сваггера в схему graphql.
  2. Предоставление сгенерированной схемы graphql в качестве входных данных для express-graphql.
  3. GQLProxyBaseUrl - внутренний URL-адрес для всех REST API-интерфейсов petstore.

1 Ответ

0 голосов
/ 25 апреля 2019

объявление мутации не добавлено в код.Пожалуйста, добавьте мутацию

Предоставленная ссылка, чтобы узнать, как сделать мутацию введите описание ссылки здесь

...