从JAR运行时,无法在Micronaut应用程序中打开Swagger UI



我有一个Micronaut应用程序,我想使用Swagger来显示API的文档。这个链接OpenAPI/Swagger Support告诉启用Swagger UI必须做的所有更改。为了添加系统属性,我添加了Gradle For Java部分中给出的脚本。但问题是,当我从IntelliJ IDEA运行应用程序时,我可以访问UI页面,但当我将项目组装到JAR文件中(并使用java-JAR filename.JAR运行它(时,它不会显示任何输出。但在这两种情况下,我都可以通过8080:swagger/application-name-1.0yml.访问swagger的yml文件

在进一步的检查中,我发现当我通过IntelliJ运行它时,swagger UI正在启动对yml文件的请求(并且出现了两行带有响应代码200的行(,之后在刷新时会返回304,但UI页面会加载。但当我运行jar文件时,我只会看到swagger UI的一个响应,它不会启动对yml文件的请求,因此屏幕保持空白。

重要的是,我已经在application.yml文件中添加了路由器和拦截url映射。还有JVM fork和compile选项用于启用视图。

当Micronaut应用程序从JAR文件启动时,我应该做些什么才能访问Swagger UI。

我创建了一个简单的Micronaut项目来测试它,它可以工作。您可以克隆此回购https://github.com/dcalap/my-openapi-app

在自述文件中,有一个gif显示了jar是如何为Swagger UI服务的。

最新更新