-
2020-07-21 11:30:28
项目介绍
一款 Java 语言基于 SpringBoot2.x、Layui、Thymeleaf、MybatisPlus、Shiro、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式:单图上传、多图上传、下拉选择、开关按钮、单选按钮、多选按钮、图片裁剪、富文本编辑器等等一系列个性化、轻量级的组件,是一款真正意义上实现组件化开发的敏捷开发框架,框架已集成了完整的RBAC权限架构和常规基础模块,同时支持多主题切换,可以根据自己喜欢的风格选择想一个的主题,实现了个性化呈现的需求;
为了敏捷快速开发,提升研发效率,框架内置了一键CRUD代码生成器,自定义了模块生成模板,可以根据已建好的表结构(字段注释需规范)快速的一键生成整个模块的所有代码和增删改查等等功能业务,真正实现了低代码开发,极大的节省了人力成本的同时提高了开发效率,缩短了研发周期,是一款真正意义上实现组件化、低代码敏捷开发框架。
内置模块
- 用户管理:用于维护管理系统的用户,常规信息的维护与账号设置。
- 角色管理:角色菜单管理与权限分配、设置角色所拥有的菜单权限。
- 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
- 职级管理:主要管理用户担任的职级。
- 岗位管理:主要管理用户担任的岗位。
- 部门管理:主要管理系统组织架构,对组织架构进行统一管理维护。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 登录日志:系统登录日志记录查询包含登录异常。
- 字典管理:对系统中常用的较为固定的数据进行统一维护。
- 配置管理:对系统的常规配置信息进行维护,网站配置管理功能进行统一维护。
- 城市管理:统一对全国行政区划进行维护,对其他模块提供行政区划数据支撑。
- 友链管理:对系统友情链接、合作伙伴等相关外链进行集成维护管理的模块。
- 个人中心:主要是对当前登录用户的个人信息进行便捷修改的功能。
- 广告管理:主要对各终端的广告数据进行管理维护。
- 站点栏目:主要对大型系统网站等栏目进行划分和维护的模块。
- 会员管理:对各终端注册的会员进行统一的查询与管理的模块。
- 网站配置:对配置管理模块的数据源动态解析与统一维护管理的模块。
- 通知公告:系统通知公告信息发布维护。
- 代码生成:一键生成模块CRUD的功能,包括后端和前端Vue等相关代码。
- 案例演示:常规代码生成器一键生成后的演示案例。
软件信息
- 软件名称:JavaWeb_Layui混编旗舰版
- 软件作者: 查看演示环境
核心组件
- 上传单图
<widget:uploadSingleImage name="avatar|头像|90x90|admin|建议上传尺寸450x450|450x450" th:value="${info['avatar']}"/>
- 下拉选择
<widget:singleSelect name="gender|1|性别|name|id" th:data="${USER_GENDER_LIST}" th:value="${info['gender']}?:3"/>
- 部门选择组件
<widget:complexSelect name="deptId|0|部门|name|id" sql="SELECT id,`name` FROM sys_dept WHERE pid=? AND mark=1 ORDER BY sort ASC;" th:value="${info['deptId']}?:0"/>
- 城市选择组件
<widget:citySingleSelect th:value="${info['districtId']} ?: 0" limit="3"/>
- 个性化标签组件
<widget:tagsInput name="tags|1|4" data="['SpringBoot','Layui','MySQL','JQuery','Linux']" th:value="${info['tags']}"/>
- 复选框组件
<widget:checkboxSingleSelect name="roleIds|name|id" sql="SELECT id,`name` FROM sys_role WHERE mark=1 ORDER BY sort ASC;" th:value="${info['roleIds']}?:[]"/>
- 日期选择组件
<widget:dateSelect name="birthday|出生日期|date" th:value="${#dates.format(info['birthday'], 'yyyy-MM-dd')}"/>
- 上传文件组件
<widget:uploadFile name="files|附件|user|5|xls,xlsx,doc,docx|10*1024" th:value="${info['files']}" />
- 开关组件
<widget:switchCheck name="status" data="正常|禁用" th:value="${info['status']} ?: 1"/>
- 图标选择组件
<widget:iconPicker name="icon" th:value="${info['icon']}?:'layui-icon-home'"/>
- 下拉树组件
<widget:treeSelect name="pid|0|上级菜单|name|id" sql="SELECT id,`name`,pid FROM sys_menu WHERE `status`=1 AND type <=3 AND mark=1 ORDER BY pid ASC,id ASC;" th:value="${info['pid']}?:0"/>
- 单选按钮组件
<widget:radioSelect name="target|name|id" data="1=内链,2=外链" th:value="${info['target']}"/>
- 穿梭组件
<widget:transfer param="funcIds|0|全部节点,已赋予节点|name|id|220x350" data="1=查询,5=添加,10=修改,15=删除,20=状态,25=批量删除,30=全部展开,35=全部折叠,40=添加子级,45=导出数据,50=导入数据,55=分配权限,60=重置密码" th:value="${info['funcIds']}"/>
特别鸣谢
感谢MybatisPlus、Layui等优秀开源项目。
更多相关内容 -
java代码自动生成源码-AutoInterface:自动生成Java接口源代码
2021-05-22 16:57:33java代码自动生成源码AutoInterface-Java注释处理器 根据带注释的类文件的公共方法生成Java接口。 为类或接口生成Decorator接口 好处 只有一个实现时,无需手动维护接口 帮助诸如Spring之类的框架进行依赖注入 ... -
java 根据数据表实现增删改查代码自动生成
2017-12-04 15:54:47java 根据数据表实现增删改查代码自动生成;java 根据数据表实现增删改查代码自动生成;java 根据数据表实现增删改查代码自动生成 -
java web代码生成器
2020-03-27 20:49:45java web开发后台代码自动生成,支持SSH和SSM2大框架,数据库支持MySQL和sqlserver,根据数据库自动生成entity,vo,service,impl,action或者controller,dao,mapper等类,包含常用的增删改查方法,集成了pageheper分页... -
JNIAnotationBridge:通过注释自动C ++ JAVA JNI代码生成器-开源
2021-05-14 15:53:17通过注释自动生成c ++ JAVA JNI代码生成器支持:JNI标头+源代码,具有自动转换为c ++桥类的Java字符串转换为std :: string的桥c ++类到Java的类 -
java实现生成ppt文件
2020-07-18 08:00:14小例子java实现生成,搞了好久才弄出来的! -
java代码自动生成源码-code-generator:该项目旨在从XML请求文件自动生成Java源代码
2021-05-22 16:57:29java 代码自动生成源码 -
Java代码生成
2021-12-02 18:29:34生成代码 生成结果 在很多开源的后台管理系统当中都有代码生成的工具,帮助开发者完成通用代码的生成,比如生成 Controller、Service、Dao 和 XML 文件等,能够帮助开发者生成通用的CRUD 代码。还能帮助开发者...目录
在很多开源的后台管理系统当中都有代码生成的工具,帮助开发者完成通用代码的生成,比如生成 Controller、Service、Dao 和 XML 文件等,能够帮助开发者生成通用的CRUD 代码。还能帮助开发者生成统一的后台列表页面和表单页面,以方便开发者可以快速的完成自己业务的开发,而忽略那些重复而又繁琐的工作。其实在开发框架中也有一些简单的代码生成的工具,比如接下来要介绍的 mybatis-plus 提供的代码生成。
MyBatis-Plus 代码生成器的介绍
引用 MyBatis-Plus 官网的说明,如下:
AutoGenerator 是 MyBatis-Plus 的代码生成器,通过 AutoGenerator 可以快速生成 Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码,极大的提升了开发效率。
https://mp.baomidou.com/guide/generator.html#使用教程
引入依赖
MyBatis-Plus 官网有较为详细的说明,不过对于刚开始接触的话完全可以通过拿来现成的代码使用。
使用 SpringBoot 来测试一下 Mybatis-Plus 代码生成的功能。
SpringBoot 项目中使用代码生成器需要引入一些依赖,依赖如下:
<!-- MySql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!-- Lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!-- MyBatis-Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.0.5</version> </dependency> <!-- 模板引擎 --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.0</version> </dependency> <!-- Mybatis-Plus-Generator --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version> </dependency>
生成代码
引入上面的依赖以后,下面的代码其实进行简单的修改就可以完成自己的代码生成,非常的方便。
public class CodeGenerator { public static void main(String[] args) { // 构建一个代码生成对象 AutoGenerator mpg = new AutoGenerator(); // 1. 全局配置 GlobalConfig gc = new GlobalConfig(); String separator = File.separator; gc.setOutputDir("/Users/xxx/Documents/demo/src/main/java"); gc.setAuthor("码农UP2U"); gc.setOpen(false);//打开目录 gc.setFileOverride(true);//是否覆盖 gc.setServiceName("%sService");//去Service的I前缀。 gc.setIdType(IdType.ID_WORKER); gc.setDateType(DateType.ONLY_DATE); gc.setSwagger2(false); mpg.setGlobalConfig(gc); DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://ip:port/data?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("password"); dsc.setDbType(DbType.MYSQL); mpg.setDataSource(dsc); // 包设置 PackageConfig pc = new PackageConfig(); pc.setParent("com.example.demo"); pc.setEntity("entity"); pc.setMapper("mapper"); pc.setController("controller"); mpg.setPackageInfo(pc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setInclude("ums_member");//表名 strategy.setNaming(NamingStrategy.underline_to_camel);// 下划线转他驼峰 strategy.setColumnNaming(NamingStrategy.underline_to_camel);// 列 下划线转脱发 strategy.setEntityLombokModel(true);//lombok 开启 strategy.setLogicDeleteFieldName("deleted"); // 自动填充 TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT); TableFill gmtModify = new TableFill("gmt_modified", FieldFill.INSERT_UPDATE); ArrayList<TableFill> tableFills = new ArrayList<>(); tableFills.add(gmtCreate); tableFills.add(gmtModify); strategy.setTableFillList(tableFills); // restcontroller strategy.setRestControllerStyle(true); strategy.setControllerMappingHyphenStyle(true);// localhost:xxx/hello_2 mpg.setStrategy(strategy); mpg.execute(); } }
上面的代码中,设置生成文件的路径,设置数据库的连接,设置包名,设置表相关的内容等。代码简单的易懂,就不做过多说明。
生成结果
运行上面的代码,来看一下生成的内容,如下图:
从图中可以看出,生成的内容有 controller、entity、dao 和 service。基本上省去了我们一些手动需要完成的工作,还是比较方便的。代码有一些部分是通用的,一部分是可能是自定义的,可以将整个代码进行封装,使得使用更加的方便的。
-
api-doc:Java开发工具,自动生成api文档
2021-05-11 16:35:04java开发,根据代码自动生成api接口文档工具,支持RESTful风格 预览版 该工具的优势 文档自动生成,减少文档维护的时间和成本 支持复杂的接口请求参数或响应参数,比如对象的多层、互相嵌套 支持多种参数类型(数组... -
JAVA上百实例源码以及开源项目源代码
2018-12-11 17:07:42日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接... -
若依JAVA开源框架自动生成代码步骤记录-创建子module以及导入子module相关问题
2020-07-09 21:32:30目录创建大分类创建功能表生成代码创建module并导入生成的代码修改自己module的pom.xml和ruoyi-admin下的pom.xml运行效果 创建大分类 进入系统管理—》菜单管理,新添一个大分类 创建功能表 在数据库创建自己的功能...创建大分类
进入系统管理—》菜单管理,新添一个大分类
创建功能表
在数据库创建自己的功能表,根据自己需求来创建。
生成代码
- 进入系统工具—》代码生成—》导入,导入刚刚创建的功能表;
- 点击编辑修改基本信息和生成信息,可以直接照葫芦画瓢就好;
- 点击生成代码并下载到本地,解压生成的代码包,执行里面生成的sql文件,用于更新菜单信息;
这里注意字段描述、字段增删改查以及字段类型,如设置下拉框,需要同时设置字典类型,字典类型可以在后台先添加(一般直接数据库添加更快),字典类型如性别(0男 1女)、使用状态(0禁用 1启用)。
以上设置完成点保存,在以下列表点击生成代码、解压,把解压目录下的sql文件执行一下,用于更新菜单,最后直接复制代码、粘贴搞定。
创建module并导入生成的代码
右键new—》project—》maven module创建自己的module,当然了也可以直接导入刚刚生成的代码到默认的module去也行,更加方便;
删掉module下main目录下的所有文件,然后复制刚刚生成的代码进来;
导入子模块
如果已有相关模块,也可以直接导入进来;
修改自己module的pom.xml和ruoyi-admin下的pom.xml
自己module修改如下,根据需求而定,不要复制我的,版本可能不同,看看demo里的版本,对应一下即可。
<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <parent> <artifactId>ruoyi</artifactId> <groupId>com.ruoyi</groupId> <version>4.3.1</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>ruoyi-test</artifactId> <description> test模块 </description> <dependencies> <!--velocity代码生成使用模板 --> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> </dependency> <!-- 通用工具 --> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-common</artifactId> </dependency> </dependencies> </project> 
ruoyi-admin下的module添加如下
<!-- 代码生成测试--> <dependency> <groupId>com.ruoyi</groupId> <artifactId>ruoyi-test</artifactId> <version>4.3.1</version> </dependency>
运行效果
完成以上步骤后,重启一下程序,重新登录后台即可看到自己刚刚创建的功能模块效果了;
若依官网:http://doc.ruoyi.vip/
特别感谢:若依开源框架 -
roncoo-mybatis-generator:龙果开源-Mybatis代码自动生成工具
2021-03-23 02:46:23龙果开源-Mybatis代码自动生成工具 项目介绍 基于mybatis-generator,增加了多个插件。 更新日志 2020-01-07添加到公共库 2017-10-15添加Dao层插件(可以当做服务层)-DaoPlugin.java 2017-02-24对配置文件xml增加... -
开源Java拼车源码-java-api-doc:励志做java届最好的文档生成工具,自动解析代码生成api接口文档,前后台...
2021-06-07 00:13:45励志做java届最好的文档生成工具,自动解析代码生成api接口文档,前后台分离开发的福音,零代码入侵,零注释入侵 解决的痛点 通常的文档生成工具,都需要开发人员编写注解或注释,代码入侵太强,而且费事,我希望... -
java代码自动生成源码-example-backend-java:PolyGenesis自动生成的源代码示例
2021-05-22 16:57:45java 代码自动生成源码 example-backend-java Example with source code automatically generated by PolyGenesis -
java写的代码生成工具源码
2012-08-23 14:37:22目前该版本可以支持mysql,oracle数据库,生成的代码包含bean文件Service文件还有jsp文件 template文件夹里面有四个模版文件(可以修改生成你想要的代码)。 具体配置步骤如下: 一、配置数据库基本信息,如... -
IDEA开源自动代码生成插件EasyCode v1.2.2
2019-01-30 13:09:52EasyCode是基于IntelliJ IDEA开发的代码生成插件,支持自定义任意模板(Java,html,js,xml)。只要是与数据库相关的代码都可以通过自定义模板来生成。支持数据库类型与java类型映射关系配置。支持同时生成生成多... -
java源码生成器-source-code-generator:Java源代码生成器
2021-05-25 20:12:19java原始生成器源代码生成器 Java源代码生成器:此应用程序用于...javapoet”库自动生成基本的Spring Boot CRUD操作的源代码。 <groupId>com.squareup</groupId> <artifactId>javapoet <version>1.10.0 </dependency> -
Spooky Coder:自动生成多种语言的代码。-开源
2021-05-14 15:50:13使用简单的Brainstorm格式快速定义ORM,然后立即创建SQL,Java,PHP,Python,Perl甚至C ++等代码来管理所有对象关系。 -
swagger - RESTFUL接口文档在线自动生成、代码自动生成工具详解
2021-03-09 22:40:54Swagger(http://swagger.io/) 是一款RESTFUL接口的、基于YAML、JSON语言的文档在线自动生成、代码自动生成的工具。 swagger 2.0 openapi 3.0 nodejs: 12.13.0 swagger-editor : 3.15.8 swagger-codegen : 2.4.9 ...swagger - RESTFUL接口文档在线自动生成、代码自动生成工具详解
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033环境:
nodejs : 12.13.0
swagger-editor : 3.15.8(2021-03-04)
swagger-codegen : 2.4.9(2019-10-14)
swagger-ui : 3.44.1(2021-03-04)
完整源码: https://github.com/itas109/node-webdev https://github.com/itas109/node-webdev/tree/main/code/1.webFramework/2.swagger https://gitee.com/itas109/node-webdev https://gitee.com/itas109/node-webdev/tree/main/code/1.webFramework/2.swagger
前言
Swagger 是一款RESTFUL接口的、基于YAML、JSON语言的文档在线自动生成、代码自动生成的工具。
1. RESTful API规范
swagger使用swagger 2.0(2014-09-08) 规范,其依赖于openapi 3.0版本的规范。
openapi 规范,是定义一个标准的、与具体编程语言无关的RESTful API的规范。官方文档(中文):OpenAPI 开放API规范
swagger 2.0规范示例:
swagger: '2.0' # 语义化版本号规范 info: # 【必选】API相关的元数据 title: Swagger Demo # 【必选】应用的名称 version: 1.0.0 # 【必选】版本信息 description: # 描述 Swagger Demo - https://github.com/itas109/node-webdev termsOfService: # 服务条款的URL地址 https://github.com/itas109/node-webdev contact: # 联系人信息 name: itas109 email: itas109@qq.com license: # 协议 name: MIT License url: https://opensource.org/licenses/mit/ host: # 服务端host 127.0.0.1:8080 basePath: # url基路径 /v1 tags: # 元数据的一系列标签 - name: user description: Operations about user externalDocs: description: user external docs url: https://github.com/itas109 schemes: # 协议,http,https,ws,wss - http - https externalDocs: # 附加的文档 description: external docs url: https://github.com/itas109 paths: # 【必选】API有效的路径和操作 /user/login: # 端点的相对路径,路径必须以 / 打头 get: tags: # 标签分类 - user summary: Logs user into the system description: '' produces: - application/json - application/xml parameters: # 参数 - name: username # 【必选】参数的名称 in: query # 【参数】 入参类型,query, header, path 或 cookie description: user name for login # 描述 required: true # 是否必须 type: string - name: password in: query description: user password for login required: true type: string responses: # 【必须】返回值 '200': description: json, {"code":0,"message":"success","data":[{"token_type":"bearer","access_token":"adcc4dc09a4f9ac278d019605f00f33c9a08e0e3","expires_in":3600,"refresh_token":"418470a87cb3d9320a092bb550790ae2c13182f1"}]} schema: $ref: '#/definitions/ApiResponse' headers: X-Rate-Limit: type: integer format: int32 description: calls per hour allowed by the user X-Expires-After: type: string format: date-time description: date in UTC when token expires '400': description: Invalid username/password schema: $ref: '#/definitions/ApiErrorResponse' '/user/{username}': get: tags: - user summary: Get user by user name description: '' produces: - application/json - application/xml parameters: - name: username in: path description: The name that needs to be fetched required: true type: string responses: '200': description: successful operation schema: $ref: '#/definitions/ApiResponse' '400': description: Invalid username supplied schema: $ref: '#/definitions/ApiErrorResponse' '404': description: User not found schema: $ref: '#/definitions/ApiErrorResponse' security: - user_auth: - 'write:user' - 'read:user' - token: [] - BasicAuth: [] securityDefinitions: # 安全定义 user_auth: type: oauth2 authorizationUrl: localhost:8080/oauth/token flow: implicit scopes: 'write:user': modify user in your account 'read:user': read your user token: type: apiKey name: Authorization description: "Authorization: Bearer xxx" in: header BasicAuth: type: basic definitions: ApiResponse: example: {"code":0, "message":"success","data":[{'xxx':'xxx'}]} type: object properties: code: type: integer format: int32 description: "System Level Code:\n 0 success \n 100101 system inner error \n 100201 interface maintenance \n 200202 interface disabled \n\n Service Level Code:\n 200101 input params empty \n 200102 input params error \n 200103 no auth" message: type: string description: "code details information" data: type: string description: "return datas array when code equal 0" ApiErrorResponse: example: {"code":200102, "message":"input params error"} type: object properties: code: type: integer format: int32 description: "System Level Code:\n 0 success \n 100101 system inner error \n 100201 interface maintenance \n 200202 interface disabled \n\n Service Level Code:\n 200101 input params empty \n 200102 input params error \n 200103 no auth" message: type: string description: "code details information"
2. swagger editor生成swagger配置文件
上节中对
RESTful API规范
做了介绍,本节介绍使用swagger editor
进行可视化的生成RESTful API
的yaml或json文件。2.1 swagger editor使用
在
swagger editor
的左边可以进行接口定义,右边可以实时看到对应的api信息。最后,点击顶部的菜单栏
File -> Save as YAML
生成yaml文件。
2.2
swagger editor
地址https://github.com/swagger-api/swagger-editor
https://github.com/swagger-api/swagger-editor/archive/v3.15.8.tar.gz
-
在线编辑:http://editor.swagger.io
-
本地编辑:
-
git clone https://github.com/swagger-api/swagger-editor.git && cd swagger-editor
-
双击index.html在浏览器中打开
-
+--- swagger-editor | +--- dist | | +--- swagger-editor-bundle.js | | +--- swagger-editor-standalone-preset.js | | +--- swagger-editor.css | | +--- swagger-editor.js | +--- index.html
3. swagger-codegen生成代码(以服务端为例)
经过上节我们可以生成
RESTful API
的yaml文件,本节介绍如何通过yaml文件生成代码(这里以NodeJS服务端为例)。3.1 swagger-codegen简介
swagger-codegen是OpenAPI (f.k.a Swagger) 规范的开源代码生成器,支持 API 客户端, API 服务单和 API 文档。
- 客户端 : ActionScript , Ada , Apex , Bash , C# , C++ , Clojure , Dart , Elixir , Elm , Eiffel , Erlang , Go , Groovy , Haskell , Java , Kotlin , Lua , Node.js , Objective-C , Perl , PHP , PowerShell , Python , R , Ruby , Rust , Scala , Swift , Typescript
- 服务端 : Ada , C# , C++ , Erlang , Go , Haskell , Java , Kotlin , PHP , Python , NodeJS , Ruby , Rust , Scala
- API文档 : HTML , Confluence Wiki
- 配置文件 : Apache2
- 其他 : JMeter
3.2 swagger-codegen生成代码(以NodeJS服务端为例)
- 查看swagger-codegen支持语言
$ java -jar swagger-codegen-cli-2.4.9.jar langs Available languages: [ada, ada-server, akka-scala, android, apache2, apex, aspnetcore, bash, csharp, clojure, cwiki, cpprest, csharp-dotnet2, dart, dart-jaguar, elixir, elm, eiffel, erlang-client, erlang-server, finch, flash, python-flask, go, go-server, groovy, haskell-http-client, haskell, jmeter, jaxrs-cxf-client, jaxrs-cxf, java, inflector, jaxrs-cxf-cdi, jaxrs-spec, jaxrs, msf4j, java-pkmst, java-play-framework, jaxrs-resteasy-eap, jaxrs-resteasy, javascript, javascript-closure-angular, java-vertx, kotlin, lua, lumen, nancyfx, nodejs-server, objc, perl, php, powershell, pistache-server, python, qt5cpp, r, rails5, restbed, ruby, rust, rust-server, scala, scala-gatling, scala-lagom-server, scalatra, scalaz, php-silex, sinatra, slim, spring, dynamic-html, html2, html, swagger, swagger-yaml, swift4, swift3, swift, php-symfony, tizen, typescript-aurelia, typescript-angular, typescript-inversify, typescript-angularjs, typescript-fetch, typescript-jquery, typescript-node, undertow, ze-ph, kotlin-server]
- 查看swagger-codegen的生成代码帮助信息
java -jar swagger-codegen-cli-2.4.9.jar help generate
-
生成nodejs服务端代码
generate主要参数:
-i swagger restful api文件的路径,url或本地文件
-l 生成客户端代码的语言,该参数为必须
-o 生成文件的位置(默认当前目录)
java -jar swagger-codegen-cli-2.4.9.jar generate -i swagger.yaml -l nodejs-server -o samples
+--- samples | +--- .swagger-codegen | | +--- VERSION | +--- .swagger-codegen-ignore | +--- api | | +--- swagger.yaml | +--- controllers | | +--- User.js | +--- index.js | +--- package.json | +--- README.md | +--- service | | +--- UserService.js | +--- utils | | +--- writer.js
3.3 swagger-codegen地址
+--- swagger-codegen | +--- gen.bat | +--- gen.sh | +--- swagger.yaml | +--- swagger-codegen-cli-2.4.9.jar
https://github.com/swagger-api/swagger-codegen
https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.9/swagger-codegen-cli-2.4.9.jarjava Version 8 Update 271 (2020-10-20)
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html4. swagger-ui
4.1 swagger-ui简介
上节中的swagger-codegen生成的nodejs-server代码运行后也可以查看在线API文档。
本节中的swagger-ui是
无依赖
的在线API文档,其仅包含HTML、JS和CSS。4.2 swagger-ui使用
+--- swagger-ui | +--- favicon-16x16.png | +--- favicon-32x32.png | +--- index.html | +--- swagger-ui-bundle.js | +--- swagger-ui-standalone-preset.js | +--- swagger-ui.css | +--- swagger-ui.js
index.html修改
SwaggerUIBundle({ "url": "swagger.yaml", // 本文件相同目录下的本地文件,也可以为远程文件 "validatorUrl": false, // 不校验 })
运行
cd swagger-ui http-server -p 8080
4.3 swagger-ui地址
https://github.com/swagger-api/swagger-ui
https://github.com/swagger-api/swagger-ui/archive/v3.44.1.tar.gz
License
License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
Refrence:
- https://swagger.io/specification/
- https://github.com/fishead/OpenAPI-Specification
-
-
EasyFsm:EasyFSM 是一种快速生成有限状态机代码的工具-开源
2021-06-29 20:30:12EasyFSM 旨在为有限状态机自动生成代码,特别是针对游戏中的 NPC 行为编程。 使用此工具,您只需要编辑一个 .fsm 文件即可简洁地描述状态机。 它将根据 .fsm 文件为您生成 Java 代码。 此外,还可以为 GraphiZ 创建... -
代码自动生成器
2018-05-16 16:40:30根据数据库表结构SQL脚本文件 ,自动生成JAVA代码. 如 ,相应的: JAVA实体、SQL语句、HTML标签和能生成测试数据的工具类.还额外增加了纯Map类型的SQL操作 , 因为JSON转Map是非常容易且不容易丢失数据的. 我们都知道,... -
无垠式代码生成器0.8最新全部源码开源了
2017-01-15 17:38:39本软件是无垠式java通用代码生成器0.8(Code Name:Trinity 崔妮蒂)的全部源码 1) 开发环境是 Java 7 2) 开发工具 Eclipse JEE版 3) 全部源码在GPL v2版条款下开源,GPL v2的文本记录在gpl2.txt中 4) 本软件包含三个... -
如何自动生成SpringBoot项目代码
2021-11-23 10:40:28自动生成代码3.代码及sql文件链接 已经工作一段时间啦!首先是从后端开发开始入手的,前端也是在自学阶段(边学边问我身边的同事大佬),努力是往全栈积极靠拢。其实在我们写后端接口代码,像本人之前所写的... -
Java XML Helper-开源
2021-05-14 14:32:35该实用程序用于根据XML结构定义(DTD&Schema)创建Java对象模型,并自动生成智能代码来处理给定的XML文件。 开发人员不再需要编写繁琐的代码来处理XML。 -
自动化工具代码生成器Machi Code Generator PHP-开源
2021-05-14 15:37:08Machi代码生成器是自动化工具,可以生成PHP代码以显示/编辑HTML中MySQL表。 -
微软开源最强Python自动化神器Playwright!...自动生成代码还竟然如此流畅!妈妈再也不用担心我不会写代码了!
2021-08-10 15:48:16使用Playwright无需写一行代码,我们只需手动操作浏览器,它会录制我们的操作,然后自动生成代码脚本。 下面就是录制的命令codegen,仅仅一行。 python -m playwright codegen codegen的用法可以使用–help查看,如 -
SpringBoot JPA 自动生成代码 (一) 生成实体类
2019-09-28 10:15:31现在换了SpringBoot,自动生成代码使用的是人人开源项目修改来的,可以直接生成简单的CRUD代码和HTML页面。 一次偶然的机会,帮群里一个老弟看代码时,发现他们自动生成代码是用的JPA,之前听说过这个,但是没有用过... -
springboot代码生成器,一款经典版的java代码生成器
2020-07-18 20:57:02一款Java语言基于SpringBoot2.x、Layui、Thymeleaf、MybatisPlus、Shiro、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可用于快速搭建后台管理系统,本着简化开发、提升开发效率... -
Mybatis之代码自动生成工具
2022-01-30 09:34:17在一篇公众号文章中看到了一款代码自动生成的开源项目mybatis-generator-gui,下面对其进行尝试记录,以便在某些场景进行应用。 mybatis-generator-gui项目在github上的地址为:... -
java2web-开源
2021-04-25 04:37:48java2web是一个Java到html源代码转换器,具有多种功能,包括CSS定制,轮廓生成,自动Javadoc喜欢,选择性突出显示等等。