https://gitee.com/legouw/auto-api#### 介绍
torna torna: 企业接口文档解决方案,目标是让文档管理变得更加方便、快捷。Torna采用团队协作的方式管理和维护项目API文档,将不同形式的文档纳入进来,形成一个统一的维护方式。
#### 介绍
在前后端分离设计开发流行的今天,多数公司的开发流程都有以下问题。
1、后台开发人员每次新增api字段,新增api接口需要手工维护apidoc。
2、需要集成第三方api框架如Swagger大量自定义注解,或基于javaDoc注释解析的第三方框架。
3、前后端开发前中期联调困难,前端联调非常依赖后端接口代码开发顺序质量与完成进度。
,后台开发人员依赖前端页面进行流程测试,或花费较大时间定义json数据验证。
4、依赖Postman工具,每次api变更,新增都需要进行维护工作,没有自动化集成项目api。
5、接口自动化测试较为耗时,测试人员需要根据apidoc或者页面流程抓取接口进行开发。
6、由接口自动化测试编排功能提供,快速融入项目,快速了解模块流程。
系统功能说明
1、支持OpenApi3.0规范,零侵入式的任意实体VO自定义泛型自动化api推导功能,自动集成Swagger注解、校验注解。
2、支持自定义的api数据字典字段定义规则如:商品类型(1-单品,2-组合),自动解析字段规则值,后端支持根据自定义规则自动化mock数据功能,支持前端自定义mock接口数据功能,解耦前后端联调依赖。
3、自动化接口api支持自动集成推送Yapi、Torna项目显示后台管理功能。
4、根据自动化api实现web postman功能。
5、实现根据自动化api任意编排自动化测试功能,提供自动化测试接口报错入参,日志等功能。
6、提供java网关功能。限流、黑白名单、api管理等功能。
7、提供多个api接口数据marge功能。
8、各业务系统所有bean依赖关系查看,提供系统公共组件、代码优化、业务流程优化时影响范围检索功能。

#### 软件架构
软件架构说明
使用SpringBoot,SpringCloud,java反射,MybatisPlus,Mysql。
项目包含模块功能
api-admin:api管理服务平台,api版本管理,通过对外暴露saveApiList服务保存更新获取的自动化api集合,Yapi、Torna接口推送功能。
api-annotation:自定义注解功能项目。
api-common:通用功能实现包含Dozer对象转换工具、Json转换工具等。
api-core:核心功能实现,运用了工厂、模板方法、建造者、责任链递归泛型解析VO、Spring RestController、泛型解析工具等多种工具类,提供解析RestController入参、出参ESTful API 接口规范功能,目前对接了Yapi、Torna接口推送。
api-framework:通用组件公共抽象模块。
api-gateway: java网关功能。开发中
api-mapping:通过ApplicationReadyEvent容器初始化完成事件,初始化解析Spring Controller。
api-openapi:开放平台openapi功能。开发中
api-rpc: 通过SPI配置支持auto-api-spring-starter 集成SpringBoot功能、Http接入功能。
api-service api服务治理
api-history 服务调用历史
api-limit api服务限流熔断降级

#### 安装教程

1.  安装auto_api.sql
2.  运行api-admin
3.  通过api-rpc http方式引入jar解析引擎
    1、新增
      com.auto.api.mapping.listener.MappingInitListener com.auto.api.mapping.filter.MockFilter bean配置
    2.  application.properties 资源文件中引入
        #是否进行api解析
        auto.api.mapping=true
        #是否使用mock数据
        auto.api.mock=false
    3.  启动类scanBasePackages 新增"com.auto.api"包扫描路径

4.  通过api-rpc auto-api-spring-starter方式引入jar解析引擎
    1.  application.properties 资源文件中引入
        #是否进行api解析
        auto.api.mapping=true
        #是否使用mock数据
        auto.api.mock=false
    2.  启动类scanBasePackages 新增"com.auto.api"包扫描路径
#### 使用说明

1. 对接fork Tarna 地址: https://gitee.com/legouw/torna
2、前端使用需要先运行Torna,创建平台,创建项目,在module表中定义好torna与aoto-api的对接token
3、运行项目,之后所有api维护操作就跟随代码自动维护更新了。
4、对接Yapi 在api_info 表param_api_json、result_api_json 字段用于对接入参与出参json,直接拷贝就可以在Yapi平台使用
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐