更新 Swagger code-gen 生成的代码

2024-05-07

我在 spring 中使用 swagger codegen 从 swagger.yaml 文件生成了代码。

现在,我已经更新了 API 的 swagger.yaml 文件,并添加了更多 HTTP 操作。

是否可以更新之前自动生成的现有代码,而无需手动合并?


我猜你正在谈论由 codegen 生成的控制器,然后你已经实现了。它们在每次生成后都会被覆盖,这意味着您每次都必须手动合并代码以添加更改......这就是真烦人.

我能找到的最好的工作流程是使用interfaceOnly选项仅在目标目录中生成模型和接口类,然后手动创建实现这些接口的控制器。

假设您使用另一个 GET 操作更新 API 规范文件,使用该新操作重新生成界面,您只需调整控制器即可实现该新方法(使用现代 IDE 超级快速且简单),其他一切都保持不变相同,您可以更好地控制代码(将控制器拆分到不同的文件夹中......等等)。

这是我用于插件的配置:

<plugin>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>2.2.3</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>./api-contract/petstore.yml</inputSpec>
                <language>spring</language>
                <configOptions>
                    <sourceFolder>swagger</sourceFolder>
                    <java8>true</java8>
                    <interfaceOnly>true</interfaceOnly>
                </configOptions>
            </configuration>
        </execution>
    </executions>
</plugin>

您可以使用 Spring Boot 和 swagger-codegen-maven-plugin 检查完整的示例项目here https://github.com/thomasJoei/swagger-codegen-springboot.

Cheers

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更新 Swagger code-gen 生成的代码 的相关文章

随机推荐

  • 使用 GenericRecord 在 Avro 中填充嵌套记录的问题

    假设我有以下架构 name Profile type record fields name firstName type string name address type type record name AddressUSRecord f
  • 将数据从 Excel 导出到 Outlook

    我已经用 Excel 起草了一封电子邮件 其中填充了数据表中的信息 单元格 A1 到 A4 包含 嗨 希望你做得好 和消息 等等 A5到H10有一个包含信息的表格 A11到A30有类似 期待您的回复 的电子邮件内容 我只想复制 A1 A4
  • 在 Firebase 群组消息应用中实现已读回执功能

    我想在我的 Firebase 群组消息应用中实现 Seen 功能 您能否建议采取最好 最有效的方法 工作代码将不胜感激 例如 应用程序会显示 已被 6 人看过 or 15 人看过 在群组消息中 这是我的项目 https github com
  • Cesium - 为什么 scene.pickPositionSupported 为 false

    我最终试图在我的房子顶部画一个多边形 我能做到 问题是 在缩小 放大和旋转 或相机移动 时 多边形不会粘在我房子的顶部 我得到了很大的帮助这个答案 https stackoverflow com a 35992537 1735836 所以
  • 有人请解释 Calendar.get(cal.DAY_OF_WEEK) 如何给出正确的输出,而 cal.DAY_OF_WEEK 是默认且未修改的? [复制]

    这个问题在这里已经有答案了 我想知道约会的日子 当我在 cal set year month 1 day 中设置日期时 设置日历字段YEAR MONTH DAY OF MONTH HOUR OF DAY 和 MINUTE 的值 其他字段的先
  • Cloud Functions for Firebase - 创建新用户时写入数据库

    我对 Firebase 和 javascript 语言的 Cloud Functions 非常陌生 我试图在每次创建用户写入数据库时 添加一个函数 这是我的代码 const functions require firebase functi
  • 重绘不会更新屏幕

    我想重新粉刷我的屏幕 到目前为止 它所做的只是在第一个屏幕上显示一个点 即头部应该在的位置 这很好 但是我在代码中写道 我希望每秒将头部向下移动 10 像素 我正在打印头部应该在的位置 并且在命令提示符中显示 y 值确实在增加 然而在我的屏
  • C 中类似函数的宏定义

    我想定义一个像 MACRO 这样的函数 IE define foo x if x gt 32 x else 2 x endif 那是 if x gt 32 then foo x present x else foo x present 2
  • Netbeans 中的方法必须调用 super() 错误

    最近我做了一个 Netbeans 项目 并使用 SVN 来配合它 我看到重复的类错误 并在控制台中显示 java lang VerifyError class pie chart explorer PieChartExplorer meth
  • 将可为空的数字转换为字符串

    我想将可为空的数字转换为字符串维持空值 这就是我正在做的 int i null string s i null null i ToString 有更短的吗 您可以编写一些扩展方法 public static string ToNullStr
  • 如何连接flutter到localhost mysql数据库

    我想将本地主机 mysql 数据库连接到 flutter 但我没有这样做 我尝试了 mysql1 与这些连接 ConnectionSettings host 10 0 2 2 port 3306 user root password roo
  • 如何将 HTML 表格导出到 Chrome 和 IE 支持的 Excel?

    在我的 MVC 项目中 我有一个与 Knockout 绑定的 HTML 表 我正在尝试将表格导出到 Excel 我在客户端尝试使用 JavaScript self exportToExcel function javascript wind
  • 用户在 Rails 中选择 CSS 样式表

    我正在 Rails 中开发一个网站 我希望用户能够将 CSS 样式表更改为浅色或深色主题 我认为这样我就可以为样式表使用变量 我尝试通过在我的视图中添加一个链接来更改该变量 如下所示 在我的控制器中调用此函数 class ProjectsC
  • Firefox 渲染出错 - 看到一些非常奇怪的东西

    我的以下情况真的很奇怪 基本上 当我查看页面的源代码时 一切看起来都很好 但页面看起来完全错误 所以我决定使用 firebug 查看源代码 而 firebug 显示了一个非常不同的故事 但是 如果我刷新页面 页面看起来很好 并且源和萤火虫匹
  • 如何让 XSLT 在 Java 中返回 UTF-8

    我正在尝试让我的 XSL 脚本使用 UTF 8 编码 像 和希腊字符这样的字符就像垃圾一样出现 让它工作的唯一方法是将结果写入文件 如果我将它写入输出流 它只会返回垃圾 System out 有效 但这可能是因为它被重定向到文件 结果需要从
  • 初始化顺序是否有保证

    我正在使用类似以下代码段的内容来进行一些初始化 我知道初始化p
  • 使用 gatttool 或 bluepy BLE 订阅通知

    我正在使用 bluepy 编写一个程序 用于监听蓝牙设备发送的特征 我还可以使用任何库或语言 唯一的限制是在 Linux 上运行 而不是在移动环境中运行 似乎仅在移动设备中广泛使用 没有人在桌面上使用 BLE 使用 bluepy 我注册了委
  • 在 C/C++ 中调用 MATLAB API

    我刚刚从某处听说 对于数值计算 MATLAB 确实提供了一些用户友好的 API 如果你在 C C 代码中调用这些 API 你可以显着加快计算速度 但我在MATLAB文档中没有找到这样的信息 例如http www mathworks com
  • Rails 4/5 发送动态 ActionMailer::Base.mail 电子邮件,附件标记为 Noname

    我看过类似的帖子 主要涉及通过创建视图和控制器来发送附件 例如 电子邮件中的 PDF 附件称为 Noname https stackoverflow com questions 12816042 pdf attachment in emai
  • 更新 Swagger code-gen 生成的代码

    我在 spring 中使用 swagger codegen 从 swagger yaml 文件生成了代码 现在 我已经更新了 API 的 swagger yaml 文件 并添加了更多 HTTP 操作 是否可以更新之前自动生成的现有代码 而无