[英]How to pass sql query in resolvers of Apollo GraphQl Server?
[英]Inherit resolvers from graphql interface with Apollo Server v3
我想從 graphql 接口繼承解析器。
考慮這個模式。
const typeDefs = gql`
interface Name {
name: String!
surname: String!
}
type Person implements Name {
_id: ID!
name: String!
surname: String!
}
type Query {
getPerson: Person!
}
}
這些解析器:
const queryResolver = {
Name: {
name: () => "John",
surname: () => "Doe"
},
Query: {
getPerson: async (parent, args, context, info) => {
return {
_id: "1",
};
},
}
}
這是我的服務器
const { ApolloServer } = require("apollo-server");
const typeDefs = require("./types");
const queryResolvers = require("./resolvers/query");
const resolvers = {
Query: queryResolvers.Query,
Name: queryResolvers.Name,
};
try {
const server = new ApolloServer({
typeDefs,
resolvers,
});
server.listen().then(({ url }) => {
console.log(`Apollo server listening on ${url}`);
});
} catch (e) {
console.error(e);
}
我希望在查詢服務器時
query Query {
getPerson {
name
surname
}
}
我得到了 John Doe,因為我希望Person
從Name
繼承解析器。
在 ApolloServer v.2 上,我通過inheritResolversFromInterfaces
實現了此功能https://www.apollographql.com/docs/apollo-server/v2/api/graphql-tools/
我無法在 ApolloServer v3.0 上找到和等效項
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.