Skip to content

cxyxiaokui/spring-boot-api-project-monkey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot 2.0 GitHub Release License

平台简介

Spring Boot API Project Monkey 项目基于 Spring Boot API Project Speed 开源项目改造而来,将原先的 SpringBoot 版本 1.5.4.RELEASE 升级为 2.1.1.RELEASE 。 去除 MyBatis 通用Mapper插件替换为MyBatis 提供SpringBoot starter 原生方式,添加在线文档工具 Knife4j、单元测试封装、优化代码以及代码目录结构等新功能。具体请参看 提供内置功能列表。

开源该项目的初衷

Spring Boot API Project Speed 项目是自己在 GitHub 查找 SpringBoot API 开源项目时发现的,参看了下源码后觉得写的确实不错, 但是有些地方和我想要的不太一样,于是利用业务时间改造了一个自己喜欢的后台 API 项目的轮子。本着继续延续 Spring Boot API Project Speed 项目的宗旨:快速、简洁、灵活,故又起了一个新名字 Moneky , 同时项目部分代码参考优秀开源项目 RuoYi

提供内置功能

  • 统一响应结果封装及生成工具。
  • 统一异常处理。
  • 简单的接口签名认证
  • 常用基础方法抽象封装。
  • 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控。
  • 使用FastJsonHttpMessageConverter,提高JSON序列化速度。
  • 使用 Jasypt加密,提高项目配置安全性。
  • 集成原生MyBatis Xml方式、PageHelper分页插件。
  • 集成 Swagger-Bootstrap-UI 增强版 Knife4j 在线展示 Swagger 配置文档。
  • 提供代码生成器根据表名生成对应的Model、Mapper、MapperXML、Service、ServiceImpl、Controller基础代码。
  • 对 MockMvc 进行封装使用MockMvc 测试更简单,同时基于封装的MockMvc单元测试基础代码生成。
  • 集成 kk-anti-reptile 反爬虫,防止接口盗刷。
  • 集成优秀工具类库 Hutool
  • 集成 Jmockdta 一款模拟JAVA类型或对象的实例化并随机初始化对象的数据的工具
  • 另有彩蛋,待你探索  

快速开始

  1. 克隆项目
  2. test包内的代码生成器CodeGeneratorConstant进行配置,主要是包名和项目路径以及开发者信息。
  3. 如果只是想根据上面的演示来亲自试试的话可以使用test resources目录下的demo-user.sql,否则忽略该步
  4. CodeGenerator 修改表名(TABLE_NAME)、包名(PACKAGE_NAME)、Entitiy名称(ENTITY_NAME)运行CodeGenerator.genCodeByCustomModelName()测试方法,生成基础代码(可能需要刷新项目目录才会出来)
  5. 根据业务在基础代码上进行扩展
  6. 对开发环境配置文件application-dev.properties进行配置,启动项目。
  7. 访问 localhost:8080/doc.html 查看项目API文档以及测试。

开发建议

  • 表名,建议使用小写,多个单词使用下划线拼接
  • 建议业务失败直接使用BusinessException("message")抛出,由统一异常处理器来封装业务失败的响应结果,比如throw new ServiceException("该手机号已被注册"),会直接被封装为{"code":400,"message":"该手机号已被注册"}返回,无需自己处理,尽情抛出
  • 开发规范建议遵循阿里巴巴Java开发手册(最新版下载)  

技术选型&文档

License

Apache-2.0 License ,感谢大家 Star & Fork 的支持。同时欢迎大家关注我的微信公众号 桌前明月,后续会在公公众号上提供项目详细文档。

About

🐒 🚀一个基于Spring Boot & MyBatis的后台API 项目,用于快速构建中小型API、RESTful API项目~

Resources

License

Stars

Watchers

Forks

Packages

No packages published