问题标签 [micronaut-openapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
148 浏览

enums - micronaut 是否支持将枚举字段加载为 Bean 定义?

在我的 micronaut 应用程序中,我有各种包含注释 (AnnotationA) 的枚举字段。当这个注解放在一个 Bean 类(不是枚举)上时,我可以使用下面的语句来检索所有包含这个注解的 Bean 定义。

applicationContext.getBeanDefinitions(Qualifiers.byStereotype(AnnotationA.class))

但是,当将相同的注释放在枚举值上时,我无法使用相同的调用来检索具有此注释的所有枚举。有人会碰巧知道我可以检索包含此注释的枚举值的方法吗?

0 投票
3 回答
975 浏览

java - 打开 swagger UI 给 404 和 Micronaut

按照这里的文档 - https://micronaut-projects.github.io/micronaut-openapi/1.3.4/guide/index.html

我将我的配置build.gradle为包含用于 swagger yaml 生成的编译时任务,如下所示 -

这就是我的application.yaml样子——

就像医生说的那样,我也注释Application.java如下-

完成所有这些之后,当我尝试打开http://localhost:9090/swagger/api-backend-0.0.yaml它时,它会打开生成的开放 API 规范 yaml。但是,如果我尝试打开http://localhost:9090/swagger-ui/,我会得到一个404.

谁能帮我找出问题或提出替代方案?

0 投票
3 回答
813 浏览

java - Micronaut(Gradle 和 Java)- 启用安全性后无法访问 Swagger 集成视图

按照这里的文档 - https://micronaut-projects.github.io/micronaut-openapi/latest/guide/index.html

我将 build.gradle 配置为包含用于 swagger yaml 生成的编译时任务,如下所示 -

这就是我的 application.yaml 的样子——

就像文档说的那样,我还用 Application.java 进行了注释,如下所示-

完成所有这些之后,当我尝试打开http://localhost:5655/swagger/email-service-0.0.yaml时,它会打开生成的开放 API 规范 yaml。但是,如果我尝试打开http://localhost:5655/swagger-ui/,我会得到 404。请注意,如果我将 security 设置为false一切正常。

谁能帮我解决这个问题?

0 投票
0 回答
339 浏览

java - 如何让 micronaut 为 Value.Immutable 类生成 OpenAPI 模式属性?

我使用 Value.Immutable 类作为其余的 api 请求/响应。生成的 OpenAPI 文档不显示不可变类的属性。看起来 OpenAPI 生成器不理解这些 bean,因为不可变抽象定义中没有 getter 和 setter。

当我使用 Value.Immutable 类时,如何正确生成 OpenAPI 文档?

这是一个简单的例子——

Value.Immutable 类:

控制器:

为 City 生成的 OpenAPI 模式没有属性:

如果我将 City.java 更改为不使用不可变对象而是使用 getter/setter,则会生成以下属性:

0 投票
1 回答
56 浏览

micronaut-openapi - IntelliJ IDEA micronaut-openapi javac 注释处理器在 IntelliJ 目录中搜索 openapi.properties

我正在使用 Micronaut OpenAPI 模块并面临一个问题,即openapi.properties在 IntelliJ 中未正确处理默认值。在命令行上进行编译是可行的。在分析注解模块时,我发现它在 IntelliJ 相关目录C:\Users\<username>\AppData\Local\JetBrains\IntelliJIdea2020.1\compile-server中查找它,显然没有找到它。这可以防止使用openapi.properties. 似乎无法将 IntelliJ 配置为使用项目目录作为注释处理器的工作目录。

0 投票
0 回答
797 浏览

java - Open api 3 + Spring cloud gateway + Micronaut Rest api

我正在尝试将 spring cloud API 网关与 micronaut 微服务一起使用,如下图所示,这两个应用程序都注册到了 Consul 发现服务。

在此处输入图像描述

我将 Micronaut 用于 rest API,因为它速度快且内存消耗少,但是,我使用 spring API 网关,因为 Micronaut 没有内置的 API 网关服务。

现在 Micronaut 微服务在 YAML 模式中公开开放 API,然而,在 JSON 模式中公开开放 API

根据弹簧网关

我怎样才能使这项工作或我做错了什么

0 投票
3 回答
578 浏览

java - swagger ui 无法通过 micronaut 多模块项目 gradle build 访问

我有一个以下项目结构

在此处输入图像描述

项目产品和 API 网关共享公共项目。由于在父项目settings.Gradle中,我已经包含了如下项目

在 API 网关 build.gradle 中,我包含了以下依赖项

在产品 build.gradle 我包含以下依赖项

当我运行命令时,$ gradle build我可以看到视图已生成

在此处输入图像描述

大摇大摆地暴露终点

但是当我访问 URL

http://localhost:8084/swagger-ui/index.html

我可以看到以下消息,但我没有启用任何安全性

调试时io.micronaut.web.router.resource.StaticResourceResolverpublic URL findResource(String name)BuiltinClassLoader.java 中的返回 null

在此处输入图像描述

0 投票
0 回答
98 浏览

swagger - 在 Java/Kotlin 的 Swagger/Micronaut API 中重用 @Parameter 文档

很难弄清楚这样做的“正确”方式。我正在使用 Micronaut 创建一个 REST 服务,该服务通过将我的 API 注释转换为开放 API 规范来使用 OpenAPI/Swagger。我正在尝试消除采用相同参数的 API 之间的注释重复。

我试图创建我自己的注释,@Parameter但它似乎没有继承。我知道 OpenAPI 有一个“组件”概念,但我不确定我的特定框架希望我在哪里定义组件。任何指针将不胜感激。

0 投票
1 回答
105 浏览

java - Swagger UI - 带有 Micronaut 2.5.1 客户端 ID 和客户端密码的 OAuth 2.0 配置在单独的配置中

根据 micronaut 文档 https://micronaut-projects.github.io/micronaut-openapi/latest/guide/index.html#enableendpoints ,尝试在最新版本的 Micronaut 中进行 Swagger OAuth 配置

设置任何这些属性时,Micronaut 不仅会生成一个 swagger-ui/index.html 文件,还会生成一个 swagger-ui/oauth2-redirect.html 文件

我可以看到它已经使用以下代码创建了文件 oauth2-redirect.html

对于 oauth2.clientId、oauth2RedirectUrl 和 oauth2.clientSecret,这些值对于每个环境 PROD、TEST、DEV、UAT 都不同。通过像上面的代码一样设置值,很难为每个环境进行配置。有没有更好的方法来做到这一点?

0 投票
0 回答
116 浏览

java - 支持 Micronaut 中的多个 swagger 定义 open-api

在 Rest API 中使用版本 API。我想使用 Micronaut open-api 进行多重招摇定义

我有以下代码结构

在此处输入图像描述

版本 1

版本 2

这会生成招摇文档

在此处输入图像描述

右上角应该有一个下拉菜单,我可以在其中选择代码的版本