赞
踩
因工作中重新构建系统,根据老板的委托组织一套框架功开发使用。
都是老代码了,所以在整个开发周期的痛点又很多,我这里集中解决了两个! 一个是前后台开发过程中的沟通,以及借口文档的在整个生命周期的统一,所以选择了swagger codegen 作为框架的基础配合改造过的swagger codegen 插件实现代码自动生成,配合改造后的借口文档生成插件实现借口文档动态生成。
使用心得:
1,引用工程基础包中的实体进入yaml文件中。插件改造之后的pom配置文件
通过对importMappings 以及typeMappings的配置可以实现对外部的引用
在yaml中引用直接通过
$ref: "#/definitions/Prop"
即可进行轻松引用。
- <plugin>
- <groupId>io.swagger</groupId>
- <artifactId>swagger-codegen-maven-plugin</artifactId>
- <version>2.4.13-pactera</version>
- <executions>
- <execution>
- <id>spring-server</id>
- <phase>pre-clean</phase>
- <goals>
- <goal>generate</goal>
- </goals>
- <configuration>
- <inputSpec>${project.basedir}/src/main/resources/api/##
- tet121.yaml,
- tet122.yaml,
- tet123.yaml
- </inputSpec>
-
- <language>spring</language>
- <output>${project.basedir}</output>
- <apiPackage>test.controller</apiPackage>
- <modelPackage>test.controller.dto</modelPackage>
- <!-- 非诚重要的配置,否则文件将要被覆盖 -->
- <skipOverwrite>false</skipOverwrite>
- <importMappings>
- <importMapping>TestBean=test.json.TestBean
- </importMapping>
-
- </importMappings>
- <typeMappings>
- <typeMapping>TestBean=test.json.TestBean</typeMapping>
- </typeMappings>
- <generateSupportingFiles>false</generateSupportingFiles>
- <configOptions>
- <dateLibrary>java8</dateLibrary>
- <java8>true</java8>
- </configOptions>
- </configuration>
- </execution>
- </executions>
- </plugin>
2,如何实现yaml中的继承
在definitons定义过程中加入discriminator即可实现,这样就可以通过在外部定义好实体之后,引入工程。子类也可以轻松的使用其定义的实现类,而不会被覆盖。
- Result:
- discriminator: "type"
- description: "统一的响应返回类型。"
- type: "object"
这两点是我在使用过程中觉得难的地方。查了很多资料,查找不易。修改插件也不容易,不介意的话帮忙点个赞。
改造后插件 github地址 ,deploy到自身的maven私服中那么整个团队的人都可以用了。
https://github.com/wang249639015/swagger-codegen.git
如又疑问可加微信w249639015
此插件可以让整个借口代码的生成不感知,具体业务人员只需要关注自身的业务逻辑实现,如果又兴趣的话也可以在生成过程中,改造插件的ftl实现,发布dubbo自动生成,sofa等也可以实现。
如果觉得这个贴子以及插件对您工作效率有所提升,期待您的打赏可帮助定制各类插件。
你的支持是我前进的动力(一键生成pdf借口文档,html借口文档教程,后续提供。)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。