Micronaut Swagger 多模块

Micronaut Swagger multimodule

我正在尝试可视化多模块项目中的 API 定义。首先我想从简单的开始,我想可视化父模块中的 yaml。然后我将在我的 Swagger 控制器中添加其他 APIs 以调用特定的 url,就像在示例 https://github.com/frehov/micronaut-swagger-server

中所做的那样

我有我的 Swagger 控制器和我的 SwaggerConfiguration 以及我的 index.hbs 内部资源 > views.swagger 我从 repo https://github.com/frehov/micronaut-swagger-server

中获取了示例

这是我的结果:

而不是像这样的东西:

当我比较这两个项目时,与示例相比,我的目标文件夹中的 view.swagger 包以某种方式生成为不同的方式:

我错过了什么? 你能看看我的回购协议吗:

https://github.com/amhg/swagger

谢谢

在您的项目中包含 swagger-ui-wrapper (index.hbs) 的文件夹称为 'views.swagger',而示例已定义 'views/swagger'(因此 swagger 是视图中的文件夹)。更改它,您会在目标中得到 views/swagger 结果。

您还需要启用 micronaut handlebars-views(即从控制器提供 .hbs 文件);将这些添加到启动的 pom.xml(不是在 root-pom!):

    <dependency>
      <groupId>io.micronaut</groupId>
      <artifactId>micronaut-views</artifactId>
    </dependency>
    <dependency>
      <groupId>com.github.jknack</groupId>
      <artifactId>handlebars</artifactId>
      <version>4.1.0</version>
      <scope>runtime</scope>
    </dependency>

这些将执行将您 return 从控制器中的配置呈现到 html 页面中的魔力。 根据您要放置 swagger-annotated 控制器的位置,您可能还想添加

    <dependency>
      <groupId>io.swagger.core.v3</groupId>
      <artifactId>swagger-annotations</artifactId>
      <version>${swagger.version}</version>
      <scope>compile</scope>
    </dependency>