簡體   English   中英

如何獲取所有 graphql 模式查詢、變異、訂閱

[英]How to get all graphql schema query, mutation, subscribe

我正在使用帶有 graphql 和 graphql-compose 的 nodejs,所以我將方案定義為

schemaComposer.Query.addFields({
  Me: MyResolvers,
  Info: MyInfoResolvers,
  Post: PostResolvers
})

schemaComposer.Mutation.addFields({
    Login: MyLoginResolvers,
    Register: RegisterResolvers
})

schemaComposer.Subscription.addFields({
    Subscribe: Mysubscribe
})

所以任何 function 來獲取所有查詢、變異和訂閱列表數組示例,我需要打印到

[
  { operator: "Me", name: "Query" }
  { operator: "Info", name: "Query" }
  { operator: "Post", name: "Query" }
  { operator: "Login", name: "Mutation" }
  { operator: "Register", name: "Mutation" }
  { operator: "Subscribe", name: "Subscription" }
]


or Object is best
{
   Query: ["Me", "Info", "Post"],
   Mutation: ["Login", "Register"],
   Subscription: ["Subscribe"]
}

我可以使用 parse function from graphql library 來解析請求中的查詢,以使用

import { parse } from "graphql"



const query:any = parse(context.req.body?.query)
const operator = query.definitions[0]?.operation
const name = query.definitions[0]?.selectionSet?.selections[0]?.name?.value

現在我需要列出所有定義的查詢、突變、訂閱模式? 可能嗎?

謝謝

您可以嘗試保持內省。 [文檔]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM