Apollo Server是一个用于构建GraphQL API的开源工具。它支持使用mergeSchemas方法将多个GraphQL模式合并为一个。在使用mergeSchemas时,可以从单独的模式中使用类型,具体步骤如下:
userSchema.js
,并在其中定义用户相关的类型和查询。// userSchema.js
import { gql } from 'apollo-server';
const userSchema = gql`
type User {
id: ID!
name: String!
email: String!
}
type Query {
getUser(id: ID!): User
}
`;
export default userSchema;
postSchema.js
,并在其中定义帖子相关的类型和查询。// postSchema.js
import { gql } from 'apollo-server';
const postSchema = gql`
type Post {
id: ID!
title: String!
content: String!
}
type Query {
getPost(id: ID!): Post
}
`;
export default postSchema;
// index.js
import { ApolloServer } from 'apollo-server';
import { mergeSchemas } from 'graphql-tools';
import userSchema from './userSchema';
import postSchema from './postSchema';
const schema = mergeSchemas({
schemas: [userSchema, postSchema],
});
const server = new ApolloServer({ schema });
server.listen().then(({ url }) => {
console.log(`Server ready at ${url}`);
});
现在,你可以通过Apollo Server访问合并后的模式,并使用其中定义的类型和查询。例如,你可以通过getUser
查询获取用户信息,通过getPost
查询获取帖子信息。
这种模式拼接使用mergeSchemas的方法可以帮助你将多个独立的GraphQL模式组合成一个统一的API,使得代码结构更清晰、可维护性更高。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)、腾讯云容器服务(TKE)、腾讯云数据库(TencentDB)等。你可以访问腾讯云官方网站了解更多产品信息和详细介绍。
参考链接:
领取专属 10元无门槛券
手把手带您无忧上云