开发者必备!一个热门的代码生成开源项目,还能生成OpenAPI ~(带私活源码)
Github 上该项目已经拥有Star 13.9k,是一个非常优秀的项目。
日常做开发的同学想必很多人都用过代码自动生成工具。
比较热门的MyBatis-Plus CodeGenerator :
-
可以根据项目的配置,先设计好表;
-
根据数据库中每一个数据表自动生成对应的 Controller、Service、ServiceImpl、Mapper、Entity 等;
可以大幅减少开发人员繁琐且没有技术含量的事情,提高开发效率。
今天给大家再分享一个代码生成的热门开源项目,openapi-generator.

什么是OpenApi
OpenApi是业界真正的 api 文档标准,其是由 Swagger 来维护的,并被linux列为api标准,从而成为行业标准。
swagger 是一个 api 文档维护组织,后来成为了 Open API 标准的主要定义者,现在最新的版本为17年发布的 Swagger3(Open Api3)。国内绝大部分人还在用过时的swagger2(17年停止维护并更名为swagger3)。swagger2的包名为 io.swagger,而swagger3的包名为 io.swagger.core.v3。
OpenApi-generator
openapi-generator 是生成openApi的工具。
Github 上该项目已经拥有Star 13.9k,是一个非常优秀的项目。
-
支持多种安装方式
-
支持通过yaml、JSON文件生成几十种客户端和服务端语言
-
生成的SDK代码十分优雅,代码中也包含了注释,非常容易阅读
同时,还生成了非常详细的markdown文档。
安装
openapi-generator支持多种安装方式:npm、Homebrew、Docker、JAR、Bash Launcher Script
官方安装文档地址:
https://openapi-generator.tech/docs/installation
下面以npm安装方式简要说明一下:
npm支持的平台有Linux、macOS、Windows,需要本机已经安装了node.js;
使用npm安装openapi-generator非常简单,就三行命令。
# 安装脚手架
npm install @openapitools/openapi-generator-cli -g
# 设置使用的版本
openapi-generator-cli version-manager set 5.1.0
# 添加依赖
npm install @openapitools/openapi-generator-cli -D
添加openAPI依赖
<!-- OpenAPI3 (swagger3) 访问地址:http://localhost:8080/swagger-ui/index.html-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<!-- knife4j UI 访问地址:http://127.0.0.1:8080/doc.html-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
添加OpenAPI配置
@EnableOpenApi
@EnableKnife4j
@SpringBootConfiguration
public class SwaggerConfiguration {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.select()
.paths(PathSelectors.regex("/error").negate())
.build();
}
/**
* @description:设置API文档信息
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("XXXXXX项目字段API文档")
.version("3.0")
.description("该接口主要列举了数据的条件查询接口,以及表字段的详细介绍")
.build();
}
}
生成的API效果

总结
对于该项目,工具覆盖的语言比较全,但是对于早期用户并不是很友好,前辈们踩过了很多坑。
从GitHub上就可以看出,Star 14k,而issuer就已经提了3.2k个,近乎 4:1的比例,确实是有些高。

当然,本篇主要是给大家介绍这个项目,如有兴趣,可以尝试感受下。
项目地址:
https://github.com/OpenAPITools/openapi-generator
写在最后(私活源码)
推荐一个后台管理系统。功能完整,代码结构清晰。值得推荐。
项目介绍
本项目系统是一款基于 SpringBoot + Bootstrap 的极速后台开发框架,可以用于所有的 Web 应用程序,易读易懂。RuoYi 支持集群,支持多数据源,支持分布式事务,拥有完善的权限管理。页面美观,完全响应式布局让你无论是电脑、平板还是手机等,都可随意使用。

运行系统
-
首先我们将项目下载到本地,在
Gitee下载页面下载解压到工作目录。 -
导入到
Eclipse,菜单File->Import,然后选择Maven->Existing Maven Projects,点击Next> 按钮,选择工作目录,然后点击Finish按钮,即可成功导入。 -
创建数据库
ry并导入数据脚本ry_2021xxxx.sql,quartz.sql。 -
打开项目运行
com.ruoyi.RuoYiApplication.java,出现如下图表示启动成功。
(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙
.-------. ____ __
| _ _ \ \ \ / /
| ( ' ) | \ _. / '
|(_ o _) / _( )_ .'
| (_,_).' __ ___(_ o _)'
| |\ \ | || |(_,_)'
| | \ `' /| `-' /
| | \ / \ /
''-' `'-' `-..-'
-
最后打开浏览器,输入:(http://localhost:80 (opens new window)) (默认账户/密码:
admin/admin123)若能正常登陆即说明搭建成功。
内置功能
本项目系统内置了多种后台管理的功能,包含系统管理、系统监控、系统工具。
系统管理
-
用户管理:用户是系统操作者,该功能主要完成系统用户配置。
-
角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
-
菜单管理:配置系统菜单,操作权限,按钮权限标识等。
-
部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
-
岗位管理:配置系统用户所属担任职务。
-
字典管理:对系统中经常使用的一些较为固定的数据进行维护。
-
参数管理:对系统动态配置常用参数。
-
通知公告:系统通知公告信息发布维护。
-
操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
-
登录日志:系统登录日志记录查询包含登录异常。
系统监控
-
在线用户:当前系统中活跃用户状态监控。
-
定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
-
服务监控:监视当前系统 CPU、内存、磁盘、堆栈等相关信息。
-
缓存监控:对系统的缓存查询,查看、清理等操作。
系统工具
-
表单构建:拖动表单元素生成相应的HTML代码。
-
代码生成:前后端代码的生成(java、html、xml、sql)支持 CRUD 下载 。
-
系统接口:根据业务代码自动生成相关的 api 接口文档。
项目介绍
相信大家很多人都被公司领导要求过,说让大家来开发一个微信公众号的后台系统吧,大家是不是对微信这个各种繁琐的条件弄得非常头疼,今天给大家分享出一块源代码,大家以后如果有需要的,可以直接拿过来复制一下使用呦。
本项目系统是一个支持公众号管理系统,支持多公众号接入。本项目提供公众号菜单、自动回复、公众号素材、简易CMS、等管理功能,请注意本项目仅为管理后台界面,需配合后端程序wx-api一起使用。
项目简介
本项目系统是一个微信公众号管理系统,目前主要实现了如下功能:
● 公众号菜单管理
● 消息自动回复
● 素材管理
● 模板消息
● 粉丝管理
同时它提供了如下跟公众号无关的功能
● CMS文章管理
● 对象存储
● 权限管理(管理后台菜单权限、接口权限、角色权限)
技术选型
-
核心框架:Spring Boot
-
安全框架:Apache Shiro
-
持久层框架:MyBatis-Plus
-
公众号开发框架:WxJava
-
后端脚手架:renren-fast
-
页面交互:Vue2.x
-
UI框架:ElementUI
-
管理后台界面模板:renren-fast-vue
-
富文本编辑器:tinymce5
功能演示












源码获取方式:
扫码关注本号,后台回复 私活
扫码关注本号,后台回复 私活
持续关注本号,分享更多私活源码
(文章里不能放二维码)
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)