使用接口构建 graphql 查询
Posted
技术标签:
【中文标题】使用接口构建 graphql 查询【英文标题】:Use interfaces to build graphql query 【发布时间】:2020-06-07 21:08:06 【问题描述】:是否可以使用现有接口构建 graphql 查询? 或者我们应该写两次相同的代码)
例如in the doc we have
interface Post
id: string;
title: string;
...
然后在查询中写入相同的字段
query allPosts
posts
id
title
...
有没有办法写出类似的东西
query allPosts
posts: Post[]
【问题讨论】:
【参考方案1】:不可能做这样的事情,因为 TypeScript 类型在运行时不存在。接口也不足以表示 GraphQL 字段,因为它们无法捕获参数值或指令用法等信息。
但是,您可以从现有查询中自动生成 TypeScript 类型,这是通常所做的。见GraphQL Code Generator。
【讨论】:
【参考方案2】:NO ... types!=queries
... posts: Post[]
已在响应定义中使用
Query 定义了你需要从这个(和其他)类型(-s)中得到什么子集(字段),f.e.只有标题
您可能正在寻找Fragments
【讨论】:
为什么我不能从类型中进行查询?字段是相同的片段不是我要找的 在第二条评论中得到答案)以上是关于使用接口构建 graphql 查询的主要内容,如果未能解决你的问题,请参考以下文章