graphql 类型错误 属性 "some" 未定义
graphql type error property "some" undefined
我是一个 graphql 项目的初学者,我创建了 index.js 文件,我在阅读文档后写了一些代码,这是我的代码
import express from 'express';
const { ApolloServer } = require('apollo-server');
import resolvers from './resolver'
const typeDefs = require('./schema');
const app = express();
const server = new ApolloServer({ typeDefs ,resolvers});
server.applyMiddleware({ app, path: '/graphql' });
app.listen(8080);
这是我的schema.js代码
const { gql } = require('apollo-server');
const typeDefs = gql `
type Query{
hi:String
}`
module.export =typeDefs
这是我的解析器文件
export default{
Query:{
hi:(parent,args,context,info) =>'hi'
},
}
您应该使用 apollo-server-express
包,以便您可以使用 applyMiddleware 方法。
例如
import express from 'express';
import { ApolloServer, gql } from 'apollo-server-express';
const app = express();
const typeDefs = gql`
type Query {
hi: String
}
`;
const resolvers = {
Query: {
hi: () => 'hi',
},
};
const server = new ApolloServer({ typeDefs, resolvers });
server.applyMiddleware({ app, path: '/graphql' });
app.listen(8080, () => console.log('Apollo server started at http://localhost:8080'));
输出:
⚡ curl -i -H 'Content-Type: application/json' -X POST -d '{"query": "query {hi}"}' http://localhost:8080/graphql
HTTP/1.1 200 OK
X-Powered-By: Express
Access-Control-Allow-Origin: *
Content-Type: application/json; charset=utf-8
Content-Length: 21
ETag: W/"15-3MWwR0/DgM8B4VCmB0O7NSgG144"
Date: Thu, 04 Feb 2021 02:51:29 GMT
Connection: keep-alive
Keep-Alive: timeout=5
{"data":{"hi":"hi"}}
我是一个 graphql 项目的初学者,我创建了 index.js 文件,我在阅读文档后写了一些代码,这是我的代码
import express from 'express';
const { ApolloServer } = require('apollo-server');
import resolvers from './resolver'
const typeDefs = require('./schema');
const app = express();
const server = new ApolloServer({ typeDefs ,resolvers});
server.applyMiddleware({ app, path: '/graphql' });
app.listen(8080);
这是我的schema.js代码
const { gql } = require('apollo-server');
const typeDefs = gql `
type Query{
hi:String
}`
module.export =typeDefs
这是我的解析器文件
export default{
Query:{
hi:(parent,args,context,info) =>'hi'
},
}
您应该使用 apollo-server-express
包,以便您可以使用 applyMiddleware 方法。
例如
import express from 'express';
import { ApolloServer, gql } from 'apollo-server-express';
const app = express();
const typeDefs = gql`
type Query {
hi: String
}
`;
const resolvers = {
Query: {
hi: () => 'hi',
},
};
const server = new ApolloServer({ typeDefs, resolvers });
server.applyMiddleware({ app, path: '/graphql' });
app.listen(8080, () => console.log('Apollo server started at http://localhost:8080'));
输出:
⚡ curl -i -H 'Content-Type: application/json' -X POST -d '{"query": "query {hi}"}' http://localhost:8080/graphql
HTTP/1.1 200 OK
X-Powered-By: Express
Access-Control-Allow-Origin: *
Content-Type: application/json; charset=utf-8
Content-Length: 21
ETag: W/"15-3MWwR0/DgM8B4VCmB0O7NSgG144"
Date: Thu, 04 Feb 2021 02:51:29 GMT
Connection: keep-alive
Keep-Alive: timeout=5
{"data":{"hi":"hi"}}