更新 Swagger code-gen 生成的代码
Update code generated by Swagger code-gen
我在 spring.
中使用 swagger code-gen 从 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 with swagger-codegen-maven-plugin here.
检查完整的示例项目
干杯
有同样的问题,我通过应用 git
找到了解决方案
- 提交当前状态
- 运行 生成器
- 使用 git 进行预期的更改,但不要对您的手动编辑进行撤消
- 提交并继续
我刚开始使用这种方法,但它似乎至少适用于 php-slim,其中在重新生成时只更改了一个文件 (index.php)。
我在 spring.
中使用 swagger code-gen 从 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 with swagger-codegen-maven-plugin here.
检查完整的示例项目干杯
有同样的问题,我通过应用 git
找到了解决方案- 提交当前状态
- 运行 生成器
- 使用 git 进行预期的更改,但不要对您的手动编辑进行撤消
- 提交并继续
我刚开始使用这种方法,但它似乎至少适用于 php-slim,其中在重新生成时只更改了一个文件 (index.php)。