Hi! 我是小小,今天是本周的第一篇,本篇将会着重的讲解关于地表最强工具,API敏捷开发工具。

前言

用尽可能简单的方式,完成尽可能多的需求,通过约定的方式,实现标准的统一。

特性

  1. 用于快速开发API接口,不需要再次定义相关的Controller,Service,Dao,Mybatis,xml,Entity,VO等对象的方式。
  2. 可是换界面,所有的入参数将会自动封装到可执行脚本三,并且支持相关的SQL执行语句。
  3. 完全基于Spring Boot2.x,Spring Boot项目可以相当的具有无侵入性。
  4. 只需要编写一行代码可以完成大部分的业务需求开发。
  5. 在线动态编译,不需要进行重启。
  6. 版本控制等相关功能。
  7. 远程可以一键发布到线上环境。
  8. 线上的Postman测试,可以进行第三方文档的生成。
  9. 代码提示,SQL提示灯。
  10. 用户相关管理,安全控制。
  11. 经过项目验证,服务端效率能够明显的提升,前后端联调能够明显的提升,测试的效率能够明显的提升。

传统开发步骤

  1. 增加一张表
  2. 创建实体对象。
  3. 创建API的入参数VO
  4. 创建API的出参VO
  5. 创建COntroller
  6. 创建Service
  7. 创建DAO
  8. 创建Mapper,XML或者JPA
  9. 在MYSQL客户端中执行相关的脚本语句。
  10. 进行不断的重启进行相关的自测。
  11. 编写API文档
  12. 完成功能的开发。

使用一些工具,mybatis-plus,jps或者idea的easy等工具可以一键生成相关的前后端文档,以及相关的操作文档,但是对于业务场景来说,更适用于高级的操作方式,灵活的操作方式。
市面解决这些问题,出现了GraphQL等解决工具,这些工具相当的灵活,相当的方便,但是学习成本过高,处理的业务环境过于复杂。
那么有没有一种工具,可以想MyBatis,xml,以及像metabse BL一样,可以直接操作原生的数据库查询,并且可以直接仔自定义相关的参数方式,并且按照统一约定的方式,省去三层MVC的定义,并且能够对数据进行一定的处理,满足多元化的业务需求,并且作为一个插件可以使用,不会影响到现有的业务逻辑处理。
那么这种工具是有的,就是Rocket API
不同点在于:
1. 基于Spring Boot开发,包括接口注册,参数的获取,输入输出消息的转换都会基于Spring Boot的生态环境,如果有Spring Boot的全局异常处理,那么将会统一的进行封装了和返回。
2. 基于MyBatis的参数定义方式,不同点在于使用默认大于配置的逻辑进行配置,实现参数的注入直接来源于请求参数。
3. 提供了内部函数,可以方便的实现,增删查改。
4. 基于Grovy的语法解析,可以实现Grovy的一些逻辑处理。
5. 提供了Spring bean对象的方式以及其他任意的Java定义的静态类,方法和对象。
6. 因为基于grovy动态语法解析,所以代码修改,或者线上问题处理可以直接不需要重启服务。
7. 传统业务开发需要有文档的生成,那么改工具可以一键的生成相关的文档。

演示说明

创建接口

工具 | 终于等到你!地表最强工具来袭!插图

定义接口

工具 | 终于等到你!地表最强工具来袭!插图1

接口逻辑

工具 | 终于等到你!地表最强工具来袭!插图2

接口访问测试

工具 | 终于等到你!地表最强工具来袭!插图3

集成方式

添加依赖

<dependency>
    <groupId>com.github.alenfive</groupId>
    <artifactId>rocket-api-boot-starter</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

数据源配置

@Component
public class DefaultDataSourceManager extends DataSourceManager {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @PostConstruct
    public void init() {
        Map<String,DataSourceDialect> dialects = new HashMap<>();
        dialects.put("mysql",new SqlDataSource(jdbcTemplate,true));
        super.setDialectMap(dialects);
    }
}

关于作者

我是小小,双鱼座的程序猿,我们下期再见~bye~