typescript - 如何使用 Apollo 工具为查询生成 Typescript 类型,包括 Apollo @client 和 @rest 指令?
问题描述
我有一个客户端模式src/schema.graphql
和一些查询src/graphql/queries.ts
。
目前,我的所有查询都包括来自 apollo-link-rest 的 @rest 指令,我正在尝试使用apollo client:codegen
以下命令为它们生成 Typescript 类型:
apollo client:codegen ./src/__generated__/types.ts --outputFlat --includes=./src/**/queries.ts --addTypename --localSchemaFile=./src/schema.graphql --target=typescript
这总是导致
.../src/graphql/queries.ts: Unknown directive "rest".
ToolError: Validation of GraphQL query document failed
我不明白我做错了什么。根据此处的文档, Apollo 应该支持开箱即用的客户端指令@client
。@rest
@rest
有没有人成功地为带有或@client
指令的查询生成类型?
解决方案
嗯,稍后有一堆文档页面,如果我src/schema.graphql
按如下方式声明指令,它似乎可以工作:
directive @rest(
type: String!
path: String!
method: String
) on FIELD
注意:此声明不包括所有可能的参数。请参阅文档以获取完整的参数列表。
任何人都可以确认这是这样做的正确方法吗?
推荐阅读
- javascript - JQuery - 选中复选框时将今天的日期添加到 div
- jquery - onclick javascript 和 IE 增强的安全配置
- msbuild - Wix 构建顺序 - msbuild & Heat
- centos7 - 某些粘贴命令在 ckan 2.7.3 中不起作用
- php - 未创建符号链接
- vuejs2 - Vuex Store的经典模式和模块模式——NuxtJS
- c# - c#:将对象转换为通用列表
- akka-stream - 如何缓冲和删除带有分隔符的分块字节串?
- sql - 删除表中的行,但保留与该行相关的其他表中的信息
- javascript - 在相同位置加载模型,使其覆盖