当前位置:   article > 正文

swagger codegen 使用心得,以及开源插件改造,以及实时生成接口文档_swagger-codegen-maven-plugin

swagger-codegen-maven-plugin

因工作中重新构建系统,根据老板的委托组织一套框架功开发使用。

 

都是老代码了,所以在整个开发周期的痛点又很多,我这里集中解决了两个!  一个是前后台开发过程中的沟通,以及借口文档的在整个生命周期的统一,所以选择了swagger codegen 作为框架的基础配合改造过的swagger codegen 插件实现代码自动生成,配合改造后的借口文档生成插件实现借口文档动态生成。

 

使用心得:

1,引用工程基础包中的实体进入yaml文件中。插件改造之后的pom配置文件

通过对importMappings 以及typeMappings的配置可以实现对外部的引用

在yaml中引用直接通过

$ref: "#/definitions/Prop"

即可进行轻松引用。

  1. <plugin>
  2. <groupId>io.swagger</groupId>
  3. <artifactId>swagger-codegen-maven-plugin</artifactId>
  4. <version>2.4.13-pactera</version>
  5. <executions>
  6. <execution>
  7. <id>spring-server</id>
  8. <phase>pre-clean</phase>
  9. <goals>
  10. <goal>generate</goal>
  11. </goals>
  12. <configuration>
  13. <inputSpec>${project.basedir}/src/main/resources/api/##
  14. tet121.yaml,
  15. tet122.yaml,
  16. tet123.yaml
  17. </inputSpec>
  18. <language>spring</language>
  19. <output>${project.basedir}</output>
  20. <apiPackage>test.controller</apiPackage>
  21. <modelPackage>test.controller.dto</modelPackage>
  22. <!-- 非诚重要的配置,否则文件将要被覆盖 -->
  23. <skipOverwrite>false</skipOverwrite>
  24. <importMappings>
  25. <importMapping>TestBean=test.json.TestBean
  26. </importMapping>
  27. </importMappings>
  28. <typeMappings>
  29. <typeMapping>TestBean=test.json.TestBean</typeMapping>
  30. </typeMappings>
  31. <generateSupportingFiles>false</generateSupportingFiles>
  32. <configOptions>
  33. <dateLibrary>java8</dateLibrary>
  34. <java8>true</java8>
  35. </configOptions>
  36. </configuration>
  37. </execution>
  38. </executions>
  39. </plugin>

2,如何实现yaml中的继承

在definitons定义过程中加入discriminator即可实现,这样就可以通过在外部定义好实体之后,引入工程。子类也可以轻松的使用其定义的实现类,而不会被覆盖。

  1. Result:
  2. discriminator: "type"
  3. description: "统一的响应返回类型。"
  4. type: "object"

这两点是我在使用过程中觉得难的地方。查了很多资料,查找不易。修改插件也不容易,不介意的话帮忙点个赞。

改造后插件 github地址   ,deploy到自身的maven私服中那么整个团队的人都可以用了。

https://github.com/wang249639015/swagger-codegen.git

 

如又疑问可加微信w249639015

 

 

此插件可以让整个借口代码的生成不感知,具体业务人员只需要关注自身的业务逻辑实现,如果又兴趣的话也可以在生成过程中,改造插件的ftl实现,发布dubbo自动生成,sofa等也可以实现。

如果觉得这个贴子以及插件对您工作效率有所提升,期待您的打赏可帮助定制各类插件。

你的支持是我前进的动力(一键生成pdf借口文档,html借口文档教程,后续提供。)

 

 

 

 

 

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/373131
推荐阅读
相关标签
  

闽ICP备14008679号