我在src/schema.graphql
中有一个客户端模式,在src/graphql/queries.ts
中有一些查询。
当前,我所有的查询都包含@rest directive from apollo-link-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
我不明白我在做什么错。根据{{3}}的说法,Apollo应该开箱即用地支持@client
和@rest
客户端指令。
有人通过@rest
或@client
伪指令成功生成查询类型吗?
答案 0 :(得分:0)
嗯,一堆文档页以后,看来如果我在src/schema.graphql
中按如下方式声明该指令,它似乎可以工作:
directive @rest(
type: String!
path: String!
method: String
) on FIELD
注意:此声明不包括所有可能的参数。请参阅docs for the complete list of arguments。
任何人都可以确认这是正确的方法吗?