如何解决Micronaut Swagger 多模块
我正在尝试可视化多模块项目中的 API 定义。首先我想从简单开始,我想从父模块中可视化yaml。然后我将在我的 Swagger 控制器中添加其他 API 来调用特定的 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 是视图内的文件夹)。改变它,你会在你的目标中获得视图/招摇的结果。
您还需要启用 micronaut 把手视图(即从控制器提供 .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>
这些将执行将您从控制器返回的配置渲染到 html 页面的魔力。 根据您要放置带有 swagger 注释的控制器的位置,您可能还想添加
<dependency>
<groupId>io.swagger.core.v3</groupId>
<artifactId>swagger-annotations</artifactId>
<version>${swagger.version}</version>
<scope>compile</scope>
</dependency>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。