当前位置: 首页 > 知识库问答 >
问题:

Micronaut、OpenAPI(Swagger)、Lombok和fluent API

訾旭
2023-03-14

在过去的两天里,我有机会和Micronaut一起玩。

它看起来不错,我喜欢内置的对OpenAPI的支持(Swagger)。我成功地将OpenAPI文档放在本地的Swagger UI中,并且我能够按照预期创建一些显示在Swagger UI中的文档。

然后我转移到一个小现实世界的项目,它使用Lombok和流畅的API,配置在lombok.config

lombok.accessors.fluent=true

此设置导致Lombok不创建getter/setter,而是类似于

private String name;
public String name()...
public void name(String name)...

遗憾的是,OpenAPI文档生成在此设置中无法正常工作-将跳过它。似乎需要getter约定。

是否有任何Micronaut Swagger扩展支持lombok fluent访问器?如果没有,您能给我一些提示吗?哪一段代码扫描方法中的注释,以便我可以扩展它?

提前感谢您!

更新1:为了更好地再现问题,我增强了MicronautJava示例:https://github.com/flexguse/micronaut-examples/tree/master/hello-world-java

自述文件。md包含详细信息,包括如何配置lombok以获取缺少的OpenAPI文档。

共有1个答案

雍志文
2023-03-14

不,Afaik目前龙目岛没有Micronaut Swagger分机。

OpenAPApplicationVisitor。java负责生成OpenAPI文档。而且,如果您计划使用micronaut openapi来支持Lombok fluent访问器,我很乐意为您提供帮助。

 类似资料:
  • 我们正在考虑为我们的项目使用grails 4.0.0,我看到这个新版本将Micronaut作为新的父应用程序上下文,并且处理了许多Micronaut特性(见grails doc:http://docs.grails.org/latest/guide/introduction.html#micronautSupport) 我们希望使用Micronaut Swagger/OpenAPI文档生成器功能(

  • 使用OpenApi比Swagger的实际优势是什么? 我是openApi技术的新手,只是想知道openApi中有什么比Swagger更多的特性。网上的文件对我没有帮助。有人能帮帮我吗。

  • 有没有人对Swagger Codegen有一些经验?目前,我正在努力执行Swagger Codegen CLI。在本教程之后,我首先尝试通过OpenAPI生成器生成Dart代码:https://clearpoint.digital/blog/accelerate-flutter-development-with-contract-first-openapi-and-dart-code-genera

  • 当我访问我的Swagger UIendpoint时,我会看到这个服务的记录良好的条目,包括关于和参数的信息。现在,我试图以类似的方式创建和方法,但遇到了一个问题。 由于我的/请求包含许多表单参数,所以我将它们封装到一个对象中,并用注释该方法。我的表单对象如下所示: 我的方法如下所示: 什么也没做。我尝试将方法签名更改为如下所示: 还是什么都没有。我的问题是,是否有一种方法可以让OpenAPI/Sw

  • 例如: Swagger这样显示枚举: 我想要的是: API返回“显示名称”,然而,Swagger显示“枚举名称”,这经常导致混淆。有可能改变狂妄的价值观吗?

  • 我在一个带注释的对象中有几个枚举,如: 其中枚举定义为: 使用Openapi3,我可以生成一个swagger文档。我的问题是,和,翻译方式不同,如: 我希望< code>Enum2与< code>Enum1一样被记录,因此具有实际的枚举值。有什么方法可以强制这样做,或者解释为什么会这样?两个枚举基本上与示例中的相同。