如何将 graphiql 连接到 javascript 以外的其他实现

How to connect graphiql to another implementation other than javascript

我已经使用 graphql-java 实现创建了一个 graphql 端点,我还安装了 运行 graphiql,但我不知道如何将 graphiql 连接到我的 graphql 端点。有人可以告诉我如何做到这一点吗?

GraphiQL 默认需要特定的 HTTP 端点形状。您可以在此处找到实际的 HTTP 请求:

https://github.com/graphql/graphiql/blob/master/example/index.html#L93

如果您的基于 graphql-java 的端点具有不同的形状,您可以在 index.html 中自定义它,或者您可以添加另一个具有以下形状的 HTTP 端点:

  • HTTP 方法:POST
  • URL路径:/graphql
  • POST body 是一个 JSON 文档,包含以下字段:
    • query - 字符串 - GraphQL 查询本身
    • oprationName - 字符串(可选)- 如果您在查询中有多个命名操作,则此字段控制应执行哪一个
    • variables - 字符串 |对象(可选)- JSON 包含查询执行变量的对象

这是您可能从 GraphiQL 获得的请求示例

POST /graphql
{
  "query": "query Fooo($humanId: String!) {\n  human(id: $humanId) {\n    id\n    name\n  }\n}",
  "variables": "{\n  \"humanId\": \"1000\"\n}",
  "operationName": "Fooo"
}