【发布时间】:2020-06-30 00:28:28
【问题描述】:
index.ts:
const server = new ApolloServer({
typeDefs,
resolvers,
context: ({ req, res }: any) => ({ req, res })
});
UserSchema.ts
export const typeDefs = gql`
scalar TimeStamp
type Query {
getUser(id: Int!): User
}
type Mutation {
addUser(
name: String!
email: String
age: Int
register_at: TimeStamp!
): Boolean!
}
type User {
id: Int!
name: String!
email: String!
age: Int!
register_at: TimeStamp!
}
`;
UserResolver.ts
export const resolvers = {
TimeStamp: timeStamp,
Query: {
getUser: async (_: any, args: any) => {
const { id } = args;
return await User.findOne({ where: { id: id } });
}
},
Mutation: {
addUser: async (_: any, args: any) => {
const { name, email, age, register_at } = args;
try {
const user = User.create({
name,
email,
age,
register_at
});
await user.save();
return true;
} catch (error) {
return false;
}
}
}
};
如果我有额外的类型定义和解析器,例如BookSchema.ts 和BookResolver.ts,我想知道如何初始化我的 Apollo Server 实例。
【问题讨论】:
标签: typescript graphql graphql-js apollo-server