如何将 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"
}
我已经使用 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"
}