typescript - GraphQL:是否有相当于 TypeScript 的“未知”?
问题描述
在 GraphQL 中,我有几个支持分页的查询。查询接受一个cursor
参数,并返回一个nextCursor
参数。
的类型对cursor/nextCursor
消费者来说并不重要。它可能是一个Number
或String
一个对象,甚至可能是一个对象——它只是一个客户不应该关心的实现细节。不同的查询甚至可能使用不同的游标类型。
有没有办法在 GraphQL 中对此进行建模?
在 TypeScript 中,有一个unknown
类型,它基本上说“我不知道这是什么类型,但没关系,我不需要知道”。
解决方案
我想我找到了我要找的东西:自定义标量:
https ://www.apollographql.com/docs/apollo-server/schema/custom-scalars/
例子:
scalar Cursor
type Query {
getStrings(count: Int, cursor: Cursor): Result!
}
type Result {
strings: [String]!
nextCursor: Cursor
}
自定义标量类型可以是任何东西——消费者不需要知道。服务器决定如何处理值(序列化、反序列化等)。
推荐阅读
- python - 如何一次性执行列表插入和弹出?
- android - 已获取数据时如何防止显示加载指示器
- php - 输入值不显示在 WooCommerce 城市字段中
- python-3.x - Python - BS4:在 div 之间提取文本
- testing - 捕获 axios 请求并在 e2e 测试中提供模拟
- jquery - 无法在 asp.mvc 中使用 ajax 调用成功接收值列表
- python-3.x - Scrapy 不会从 span 类中获取所有文本
- python - 防止 f 字符串将浮点数转换为科学计数法
- c# - 布尔值在设置为 true 后返回 false
- c++ - 将普通 C++ 字符串写入快速 JSON 会导致字符串带有反斜杠