一个基于Spring Boot的API、Restful API种子项目搭建

本文分享了基于Spring Boot的API和RESTful API项目种子的搭建过程,介绍了如何利用Spring Boot、MyBatis、通用Mapper和PageHelper加速项目开发。作者封装了统一响应结果、异常处理等,提供了最佳实践的项目结构,并引入了lenosp脚手架以支持后台管理系统。文章还提及了新添加的特性,如统一返回码和结果封装。
摘要由CSDN通过智能技术生成

文章目录

前言

参考博客一个基于Spring Boot的API、RESTful API项目种子(骨架)

最近使用Spring Boot 配合 MyBatis 、通用Mapper插件、PageHelper分页插件 连做了几个中小型API项目,做下来觉得这套框架、工具搭配起来开发这种项目确实非常舒服,团队的反响也不错。在项目搭建和开发的过程中也总结了一些小经验,与大家分享一下。

在开发一个API项目之前,搭建项目、引入依赖、配置框架这些基础活自然不用多说,通常为了加快项目的开发进度(早点回家)还需要封装一些常用的类和工具,比如统一的响应结果封装、统一的异常处理、接口签名认证、基础的增删改差方法封装、基础代码生成工具等等,有了这些项目才能开工。

然而,下次再做类似的项目上述那些步骤可能还要搞一遍,虽然通常是拿过来改改,但是还是比较浪费时间。所以,可以利用面向对象抽象、封装的思想,抽取这类项目的共同之处封装成了一个种子项目(估计大部分公司都会有很多类似的种子项目),这样的话下次再开发类似的项目直接在该种子项目上迭代就可以了,减少无意义的重复工作。

我在此基础上自个儿再DIY了一些功能,把lenosp脚手架添加进来,为了方便开发后台管理系统而不只是编写API接口。大部分应用都需要后台管理系统的支持,而有一套通用的后台管理系统模板会很方便,这里使用lenosp脚手架,大家可以进入Gitee了解该项目:Gitee/一枚码农/lenosp

因此我使用的种子项目是基于Maven多模块开发的,整体骨架使用的是lenosp的设计,在上面扩展自己额外的功能。

特征&提供

以下只对我自己新添加的一些特征、配置进行简要介绍。若要详细理解种子项目,请移步我的另外一篇博客(制作中…)

  • 最佳实践的项目结构、配置文件、精简POM

  • 统一响应结果封装及生成工具

因为要给前端返回json格式的数据,这里需要定义 统一返回码、返回结果实体类。参考博客统一返回码,返回结果实体类

  1. Result返回结果集封装
@Data
@NoArgsConstructor
public class Result<T> implements Serializable{
   

    private boolean success;//是否成功
    private Integer code;// 返回码
    private String message;//返回信息
    private T data;// 返回数据

    public Result(ResultCode code) {
   
        this.success = code.success;
        this.code = code.code;
        this.message = code.message;
    }

    public Result(ResultCode code,T data) {
   
        this.success = code.success;
        this.code = code.code;
        this.message = code.message;
        this</
修改application-dev.yml中的数据库配置环境 * 继承通用接口直接使用,或根据业务在基础代码上扩展 * 代码生成:在CodeGenerator的main方法中修改需要生成的表名,运行即可 ## 代码结构 ```bash ├── README.md ├── pom.xml ├── springboot-seedproject.iml ├── src │   ├── main │   │   ├── java │   │   │   └── pers │   │   │   └── hong │   │   │   └── project │ │ │ ├── SpringbootSeedprojectApplication.java 启动类 │ │ │ ├── common │ │ │ │ ├── Constants.java 常量 │ │ │ │ ├── Result.java 结果集 │ │ │ │ ├── ResultGenerator.java 响应结果生成工具 │ │ │ │ └── ServiceException.java 业务异常 │ │ │ ├── config │ │ │ │ ├── MybatisConfig.java Mybatis配置 │ │ │ │ └── WebMvcConfig.java MVC配置 │ │ │ ├── core │ │ │ │ ├── AbstractService.java service实现 │ │ │ │ ├── Mapper.java 通用mapper │ │ │ │ └── Service.java 通用service │ │ │ └── generator │ │ │ └── CodeGenerator.java 代码生成器 │ │ └── resources │ │ ├── application-dev.yml 开发环境 │ │ ├── application-pro.yml 生产环境 │ │ ├── application-test.yml 测试环境 │ │ ├── application.yml 配置文件 │ │ ├── banner.txt banner │ │ ├── mapper │ │ └── template ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值