使用接口构建 graphql 查询
Use interfaces to build graphql query
是否可以使用现有接口构建 graphql 查询?
或者我们应该写两次相同的代码)
interface Post {
id: string;
title: string;
...
然后在查询中写入相同的字段
query allPosts {
posts {
id
title
...
有什么办法可以写成
query allPosts {
posts: Post[]
不可能执行类似的操作,因为运行时不存在 TypeScript 类型。接口也不足以表示 GraphQL 字段,因为它们无法捕获参数值或指令使用等信息。
但是,您可以从现有查询自动生成 TypeScript 类型,这通常是这样做的。参见 GraphQL Code Generator。
否 ... types!=queries
... posts: Post[]
已在响应定义中使用
查询定义您需要来自此(和其他)类型 (-s) 的子集(字段),f.e。只有标题
您可能正在寻找 Fragments
是否可以使用现有接口构建 graphql 查询? 或者我们应该写两次相同的代码)
interface Post {
id: string;
title: string;
...
然后在查询中写入相同的字段
query allPosts {
posts {
id
title
...
有什么办法可以写成
query allPosts {
posts: Post[]
不可能执行类似的操作,因为运行时不存在 TypeScript 类型。接口也不足以表示 GraphQL 字段,因为它们无法捕获参数值或指令使用等信息。
但是,您可以从现有查询自动生成 TypeScript 类型,这通常是这样做的。参见 GraphQL Code Generator。
否 ... types!=queries
... posts: Post[]
已在响应定义中使用
查询定义您需要来自此(和其他)类型 (-s) 的子集(字段),f.e。只有标题
您可能正在寻找 Fragments