我是graphql的新手。我正在使用express-graphql为petSore架构的REST API生成graphql查询。我能够使用graphql 查询获取GET API的结果,但我无法使用突变获得POST / PUT API的响应。 ) 为了创造宠物,我使用变异,
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);
};
我必须遵循的过程是: