首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >生成Swagger的最佳方法?即codegen vs swagger编辑器()

生成Swagger的最佳方法?即codegen vs swagger编辑器()
EN

Stack Overflow用户
提问于 2021-02-23 08:27:52
回答 1查看 1.4K关注 0票数 1

我正在开发一个API (Spring ),它使用的是openapi2.0版本,它还在pom.xml中使用了pom.xml插件。

我最近做了一个LinkedIn学习课程,我们使用Swagger (本地使用Docker)编写api规范(openapi3.0),并以您选择的任何语言“导出”Server,在本例中是Java。我注意到控制器实现的API类已经在这个存根中生成了。但是,当使用swagger-codegen-maven-plugin时,直到编译项目(mvn install)才会生成这些接口,对于您定义的任何数据结构(例如,在swagger yaml的“定义”部分中定义的请求主体),模式也是如此。

我想问一下这里构建API的首选方法是通过web还是在本地使用Swagger编辑器,然后用yaml编写规范,然后在您选择的语言/框架中导出Server,还是在本地手动编写一些类(即使您添加了swagger,看起来仍然需要为控制器等编写代码)。使用这种方法,如果我错了,请纠正我,即IntelliJ使用Spring,然后在您的项目中添加swagger-codegen-maven-plugin,让它为您生成接口/具体类吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-23 12:17:21

我更喜欢使用Maven插件。

在Maven生命周期的编译阶段生成服务器存根没有什么问题:运行它,得到存根,然后开始使用它们。

Maven插件的优点是可以配置生成器的输出:例如,您可以设置包名、后缀或模型名称的前缀,无论是只生成接口还是只生成存根实现。

这是maven插件配置的完整列表,在这里您可以找到弹簧特定选项。使用Swagger web生成器,据我所知,您不能配置任何东西。

在使用maven插件时,唯一要记住的是不要手动修改生成的代码,否则每次运行它时,都会丢失手动更改。因此,您的实际实现代码将需要实现生成的API接口或扩展生成的API控制器。或者更好地生成代码,并将delegatePattern选项设置为true,并实现生成的委托接口。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66337117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文