GraphiQL

GraphiQL是一个浏览器内的交互式图形 GraphQL IDE。它在开发人员中非常流行,因为它使探索和交互式开发 GraphQL API 变得很容易。在开发过程中,现成的 GraphiQL 集成通常足以帮助开发人员处理 API。在生产中,应用程序可能需要一个自定义 GraphiQL 构建,它包含公司徽标或特定的身份验证支持。 与 Spring 集成的 GraphQL 使用 a stock GraphiQL index.html page在 unpkg.com CDN 上托管静态资源。Spring Boot 应用程序可以通过一个配置属性轻松 启用此页面。 如果应用程序需要不依赖 CDN 的设置,或者如果你想要自定义用户界面,则可能需要定制 GraphiQL 构建。这可以通过两个步骤来完成:

  1. 配置并编译 GraphiQL 构建

  2. 通过 Spring web 基础设施公开构建的 GraphiQL 实例

Creating a custom GraphiQL build

这部分通常超出了本文档的范围,因为有几个用于自定义构建的选项。你可以在 official GraphiQL documentation中找到更多信息。你可以选择直接在应用程序资源中复制构建结果。或者,你可以通过利用 Node.js GradleMaven 构建插件,将 JavaScript 构建集成到项目中,作为单独的模块。

Exposing a GraphiQL instance

类路径中 GraphiQL 构建可用后,您可以使用 功能性网络框架 将其公开为一个端点。

include-code::GraphiQlConfiguration[]<1> 从类路径中加载 GraphiQL 页面(此处,我们使用 Spring with GraphQL 提供的版本)<2> 为处理 HTTP 请求配置一个网络处理器;您可以根据使用情况实现定制的 HandlerFunction<3> 最后,将处理器映射到特定的 HTTP 端点<4> 通过 RouterFunction bean 公开此新路由

您可能还需要配置应用程序以 提供相关的静态资源