问题标签 [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.
enums - micronaut 是否支持将枚举字段加载为 Bean 定义?
在我的 micronaut 应用程序中,我有各种包含注释 (AnnotationA) 的枚举字段。当这个注解放在一个 Bean 类(不是枚举)上时,我可以使用下面的语句来检索所有包含这个注解的 Bean 定义。
applicationContext.getBeanDefinitions(Qualifiers.byStereotype(AnnotationA.class))
但是,当将相同的注释放在枚举值上时,我无法使用相同的调用来检索具有此注释的所有枚举。有人会碰巧知道我可以检索包含此注释的枚举值的方法吗?
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
.
谁能帮我找出问题或提出替代方案?
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一切正常。
谁能帮我解决这个问题?
java - 如何让 micronaut 为 Value.Immutable 类生成 OpenAPI 模式属性?
我使用 Value.Immutable 类作为其余的 api 请求/响应。生成的 OpenAPI 文档不显示不可变类的属性。看起来 OpenAPI 生成器不理解这些 bean,因为不可变抽象定义中没有 getter 和 setter。
当我使用 Value.Immutable 类时,如何正确生成 OpenAPI 文档?
这是一个简单的例子——
Value.Immutable 类:
控制器:
为 City 生成的 OpenAPI 模式没有属性:
如果我将 City.java 更改为不使用不可变对象而是使用 getter/setter,则会生成以下属性:
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 配置为使用项目目录作为注释处理器的工作目录。
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.StaticResourceResolver
。public URL findResource(String name)
BuiltinClassLoader.java 中的返回 null
swagger - 在 Java/Kotlin 的 Swagger/Micronaut API 中重用 @Parameter 文档
很难弄清楚这样做的“正确”方式。我正在使用 Micronaut 创建一个 REST 服务,该服务通过将我的 API 注释转换为开放 API 规范来使用 OpenAPI/Swagger。我正在尝试消除采用相同参数的 API 之间的注释重复。
我试图创建我自己的注释,@Parameter
但它似乎没有继承。我知道 OpenAPI 有一个“组件”概念,但我不确定我的特定框架希望我在哪里定义组件。任何指针将不胜感激。
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 都不同。通过像上面的代码一样设置值,很难为每个环境进行配置。有没有更好的方法来做到这一点?