来自现有 JSON 的 Springfox Swagger Ui

Springfox Swagger Ui from existing JSON

我有一个 gradle 支持 SpringBoot 应用程序,我们最初只是在其中创建我们的
REST 控制器 然后使用 @EnableSwagger2 注释来创建我们的 swagger UI。这工作得很好,但现在我们想过渡到 API 第一种方法。

所以这意味着我们现在首先创建我们的 swagger.json,然后使用 swagger-codegen 生成我们的 Java 接口/控制器以用于我们的 SpringBoot 应用程序。我现在想弄清楚如何告诉 springfox-swagger-ui 使用我们创建的 swagger.json,而不是查看 java 代码以在事后生成 UI .在我看来,这是正确的方法,可以避免由于在幕后重新生成 swagger.json 本质上 springfox-swagger-ui 可能引起的任何不一致。

如何配置此行为?谢谢。

Here 是关于如何从现有 swagger.json 创建 Swagger UI 的工作示例。

您需要编写具有以下端点的自定义 Swagger 控制器:

  1. /swagger-resources 端点 which returns a JSON string representation of a springfox.documentation.swagger.web.SwaggerResource对象。

  2. /swagger-resources/configuration/ui 端点其中 returns 一个 JSON 字符串 springfox.documentation.swagger.web.UiConfiguration 对象的表示。

  3. /swagger-resources/configuration/security 端点其中 returns 一个 JSON 字符串 springfox.documentation.swagger.web.SecurityConfiguration 对象的表示。

  4. /v2/api-docs 端点,其中 returns Swagger 的 JSON 表示 API 定义。