如何在GraphQL URL中找到可用的操作?

时间:2019-01-09 06:57:11

标签: python graphql

请原谅此类模糊的问题。我有一个URL http://example.com/graphql。我想知道可以进行哪些操作。反正有找到答案吗?

1 个答案:

答案 0 :(得分:0)

GraphQL具有introspection system,可让您查询其架构。您可以构造GraphQL查询以探索其类型。

例如,要查找所有查询和突变根字段,您可以将以下JSON正文POST http://example.com/graphql {内容类型设置为application/json

{
   "query" : "{__schema {queryType {name fields {name}}mutationType {name fields {name}}}}"
}

或使用GET并将GraphQL查询放入查询参数query

http://example.com/graphql/?query={__schema {queryType {name fields {name}}mutationType {name fields {name}}}}

这将返回类似的内容:

{
  "data": {
    "__schema": {
      "queryType": {
        "name": "Query",
        "fields": [
          {
            "name": "searchFoo"
          },
          {
            "name": "searchBar"
          }

        ]
      },
      "mutationType": {
        "name": "Mutation",
        "fields": [
          {
            "name": "createFoo"
          },
          {
            "name": "updateFoo"
          }
        ]
      }
    }
  }

但是更简单的方法是使用GraphQL客户端,例如GraphiQLInsomnia或.....,它很可能会为您提供交互式的UI,以探索GraphQL架构,并具有一些自动完成/提示功能,可帮助您构建GraphQL查询。