恒宇少年 · 2020年01月07日

基于ApiBoot的前后分离演示脚手架诞生了~

知识改变命运,撸码使我快乐,2020继续游走在开源界<br/>
点赞再看,养成习惯<br/>
给我来个Star吧,ApiBoot Admin源码仓库:https://gitee.com/minbox-projects/api-boot-admin

前言

ApiBoot发布到目前为止已经9个月的时光了,在这段时间内有过热泪迎面、有过沮丧、也有过无从下手的感觉,坚持开源是我作为程序员的愿景,尽我所能,继续坚持!!!

这两天公众号并未推文,其实我在做一件很有意义的事情,基于最新版本的ApiBoot编写了一款前后端分离的脚手架,因为不是专业的前端出身,所以采用了目前市面上社区比较活跃的集成框架vue-element-admin,由目前就职于字节跳动 花裤衩 开源的一款基于Vue的管理平台脚手架。

存在之道

由于学习ApiBoot的小伙伴越来越多,也不能很全面的回复大家的所要了解的问题,我总结了下大多数还是因为文章中所讲解的是拆分后的使用方式,如果真正整合到自己的项目中可能就不会了,真的有这么难吗?

这个并不是我希望看到的事情,因为ApiBoot本身秉承着快速集成第三方框架、开箱即用、提供开发效率的宗旨,如果太困难就完全失去了意义。

针对这个问题,我创建了一个名为api-boot-admin的开源项目,用了几个日夜的时间,将ApiBoot内的各个常用组件进行整合,项目采用前后端分离的方式进行构建,从使用的根本来解决问题。

源码

界面一览

登录界面

演示模块

使用环境

由于前端采用的是vue-element-admin集成解决方案,所以本地如果想要使用需要有如下的环境支持:

  • NodeJs 10.18.0+
  • Npm 6.13.4+

接口架构组成

ApiBoot Admin所使用的接口都是由admin-services这个子模块进行提供,导入IDEA开发工具可直接使用XxxApplication方式运行。

admin-services是一个完善的基础接口服务项目,内部包含了在构建接口服务项目时大多数场景能用到的配置、公共类、枚举、统一请求、统一响应、数据验证等。

  • [x] SpringBoot Profiles(多环境激活)
  • [x] ControllerAdvice(统一控制器异常捕捉通知)
  • [x] MapStruct(实体实例转换)
  • [x] ApiBoot Security(组件化快速集成Spring Security)
  • [x] ApiBoot OAuth2(组件化快速集成OAuth2)
  • [x] ApiBoot MyBatis Enhance(基于MyBatis的增强ORM)
  • [x] ApiBoot MyBatis Enhance Codegen(自动生成实体的Maven Plugin)
  • [x] ApiBoot MyBatis Pageable(自动化分页组件,提供给ElementUI内Table使用)
  • [x] ApiBoot Logging(分布式链路日志)
  • [x] ApiBoot Swagger(自动生成接口文档)
  • [x] 接口Api基础类
  • [x] 业务Service基础类

日志服务

ApiBoot Admin内名为admin-log-server的子模块项目,该项目主要是用于接收admin-services所产生的链路请求日志,然后进行保存到数据库中,内部通过ApiBoot Logging Admin实现。

只需要添加@EnableLoggingAdmin一个注解在启动类上就可以实现链路日志的接收以及自动化保存,是不是简单的令人发指?

通过添加spring-boot-starter-security来保证日志上报的安全性,上报时通过配置Basic User基础认证实现。

接口文档

ApiBoot Admin内部通过集成ApiBoot Swagger来实现接口文档的自动生成,在接口Api类内的方法上简单的配置Swagger2所提供的注解就可以实现文档的自动生成,支持在线调试,还支持设置OAuth2所生成的请求令牌调试接口。

作者个人 博客
使用开源框架 ApiBoot 助你成为Api接口服务架构师
推荐阅读
关注数
0
文章数
49
博客地址:[链接]开源框架ApiBoot官网:[链接]
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息