Я новичок в graphql. Я использую express-graphql для создания запросов graphql на API REST для схемы petSore. Я могу получить результат для API GET с помощью запросов, но не могу получить ответ для API POST / PUT с помощью Мутации. ) Чтобы создать питомца, я использую мутацию как,
mutation {
addPet(body: {id: "111", name: "doggie", photoUrls:["http://localhost:3000/pics/doggie"]}) {
name,
id
}
}
При выполнении этого запроса на localhost: 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);
};
Я должен следовать следующему процессу:
- Преобразование swagger в схему graphql.
- Предоставьте сгенерированную схему graphql в качестве входных данных для express-graphql.
- GQLProxyBaseUrl - это серверный URL-адрес для всех REST API-интерфейсов petstore.
addPet
мутации, а также преобразователь для GET? Я имею в виду, как это определяется на стороне Node.js. - person Antonio Narkevich   schedule 31.05.2018addPet
функция и мутация ... Пожалуйста, опубликуйте код для того же - person Ashh   schedule 10.06.2018