GraphQL 订阅与服务器测试实战
1. GraphQL 订阅基础
在 GraphQL 开发中,我们通常使用查询(queries)和变更(mutations)来读取和写入数据,这是实现 CRUD 操作的两个基本 GraphQL 操作。接下来,我们将学习 GraphQL 订阅(Subscriptions),它用于实现 GraphQL 客户端和服务器之间的实时通信。
我们以创建消息的实时通信为例。当一个用户创建消息时,另一个用户应该在 GraphQL 客户端应用程序中实时收到该消息的更新。
首先,我们需要在 src/schema/message.js 模式文件中添加订阅根级别类型:
import { gql } from 'apollo-server-express';
export default gql`
extend type Query {
...
}
extend type Mutation {
...
}
...
type Message {
id: ID!
text: String!
createdAt: Date!
user: User!
}
extend type Subscription {
messageCreated: MessageCreated!
}
type MessageCreated {
message: Message!
}
`;
对于 GraphQL 消费者来说,订阅的工作方式类似于 GraphQL 查询,但不同之处在于订阅会随着时间的推移发出变更(事件)。每次创建消息时,订阅的 Grap
超级会员免费看
订阅专栏 解锁全文
1191

被折叠的 条评论
为什么被折叠?



