我正在开发一个apollo-express graphql服务器。我试图整合模块'graphql-type-json'但是当我跟着this description关于如何集成时,我尝试了很多东西,但似乎这个类型没有被正确传递给解析器 - 但是我在调试中遇到了障碍,可以使用一些帮助。以下是我正在做的事情的总结。
import { makeExecutableSchema } from 'graphql-tools';
const GraphQLJSON = require('graphql-type-json');
//Have also tried import GraphQLJSON from 'graphql-type-json';
const schema = `
scalar JSON
type Device {
deviceconfig: JSON
}
type Query {
foo: Foo
}
`;
const resolveFunctions = {
JSON: GraphQLJSON,
//JSON: {return GraphQLJSON} stops error but other issues come up...
Query: ...
};
const jsSchema = makeExecutableSchema({
typeDefs: schema,
resolvers: resolveFunctions,
resolverValidationOptions: {
requireResolversForNonScalar: false,
},
allowUndefinedInResolve: true,
printErrors: true,
});
不确定它是否相关但我的npm存在一些问题:
graphql-type-json@0.1.4
UNMET PEER DEPENDENCY graphql@0.8.2 invalid
├─┬ graphql-tools@0.4.2
│ ├── UNMET PEER DEPENDENCY graphql@^0.5.0 || ^0.6.0
npm ERR! peer dep missing: graphql@^0.6.1 || ^0.7.0, required by apollo-server@0.3.3
npm ERR! peer dep missing: graphql@^0.5.0, required by graphql-tools@0.4.2
npm ERR! extraneous: casual@1.5.8 /home/apollo/node_modules/casual
npm ERR! extraneous: mongoose@4.6.6 /home/apollo/node_modules/mongoose
npm ERR! extraneous: mysql-events@0.0.8 /home/apollo/node_modules/mysql-events
npm ERR! peer dep missing: graphql@^0.5.0 || ^0.6.0, required by express-widgetizer@0.5.11
答案 0 :(得分:1)
我在解析器
中解决了这样的自定义标量JSON JSON: {
__serialize(value) {
return GraphQLJSON.parseValue(value);
} }
它对我来说很好。我认为它会对你有所帮助