当前位置: 首页 > 软件库 > Web应用开发 > >

spring-boot-api-project-seed

授权协议 Readme
开发语言 Java
所属分类 Web应用开发
软件类型 开源软件
地区 不详
投 递 者 宋耀
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

简介

Spring Boot API Project Seed 是一个基于Spring Boot & MyBatis的种子项目,用于快速构建中小型API、RESTful API项目,该种子项目已经有过多个真实项目的实践,稳定、简单、快速,使我们摆脱那些重复劳动,专注于业务代码的编写,减少加班。下面是一个简单的使用演示,看如何基于本项目在短短几十秒钟内实现一套简单的API,并运行提供服务。

请选择超清

特征&提供

  • 最佳实践的项目结构、配置文件、精简的POM(查看项目结构图
  • 统一响应结果封装及生成工具
  • 统一异常处理
  • 简单的接口签名认证
  • 常用基础方法抽象封装
  • 使用Druid Spring Boot Starter 集成Druid数据库连接池与监控
  • 使用FastJsonHttpMessageConverter,提高JSON序列化速度
  • 集成MyBatis、通用Mapper插件、PageHelper分页插件,实现单表业务零SQL
  • 提供代码生成器根据表名生成对应的Model、Mapper、MapperXML、Service、ServiceImpl、Controller等基础代码,其中Controller模板默认提供POST和RESTful两套,根据需求在CodeGenerator.genController(tableName)方法中自己选择,默认使用POST模板。代码模板可根据实际项目的需求来扩展,由于每个公司业务都不太一样,所以只提供了一些比较基础、通用的模板,主要是提供一个思路来减少重复代码的编写,我在实际项目的使用中,其实根据公司业务的抽象编写了大量的模板。另外,使用模板也有助于保持团队代码风格的统一
  • 另有彩蛋,待你探索 

快速开始

  1. 克隆项目
  2. test包内的代码生成器CodeGenerator进行配置,主要是JDBC,因为要根据表名来生成代码
  3. 如果只是想根据上面的演示来亲自试试的话可以使用test resources目录下的demo-user.sql,否则忽略该步
  4. 输入表名,运行CodeGenerator.main()方法,生成基础代码(可能需要刷新项目目录才会出来)
  5. 根据业务在基础代码上进行扩展
  6. 对开发环境配置文件application-dev.properties进行配置,启动项目,Have Fun! 

开发建议

  • 表名,建议使用小写,多个单词使用下划线拼接
  • Model内成员变量建议与表字段数量对应,如需扩展成员变量(比如连表查询)建议创建DTO,否则需在扩展的成员变量上加@Transient注解,详情见通用Mapper插件文档说明
  • 建议业务失败直接使用ServiceException("message")抛出,由统一异常处理器来封装业务失败的响应结果,比如throw new ServiceException("该手机号已被注册"),会直接被封装为{"code":400,"message":"该手机号已被注册"}返回,无需自己处理,尽情抛出
  • 需要工具类的话建议先从apache-commons-*guava中找,实在没有再造轮子或引入类库,尽量精简项目
  • 开发规范建议遵循阿里巴巴Java开发手册(最新版下载)
  • 建议在公司内部使用ShowDocSpringFox-Swagger2RAP等开源项目来编写、管理API文档 

技术选型&文档

License

无,纯粹开源分享,感谢大家 Star & Fork 的支持。

 相关资料
  • Dubbo Spring Boot Project 致力于简化 Dubbo 应用在 Spring Boot 环境中的开发,主要包括自动装配(Auto-Configure)、外部化配置(Externalized-Configuration)以及生产准备(Actuator)等。 快速上手 服务接口(RPC) public interface DemoService {    String sayHel

  • 我很难让这个工作。我已经开始了一个工作的SpringBoot(v2.2.2)应用程序与一个工作@RestController。为了让springdoc工作,我在pom中包含了以下依赖项: 然后我建立并开始我的服务。然后我浏览到api文档endpoint,我得到: 我漏了一步吗?我假设在运行时它会扫描我的代码,找到@RestController,找到@刚需映射方法并从中生成api。 作为第二次尝试,

  • 我有一个要求,即在项目编译时,我必须动态加载一个Swagger api url参数。这是一个springboot项目。例如,如果有这样的情况:- 当我运行这个大摇大摆的UI时,这个api应该看起来像“/pet/1”。我理解,我们必须在项目本身中提供包含“petId”的数据/文件,以便仅在编译时获取petId的值。我只是不知道在Spring Boot Java项目中在何处以及如何做到这一点,在这个项

  • 我有一个带有路径参数的API,我使用Spring Boot实现了它 获取URL/student/4/course/abc 不,我的问题是如果用户进入 /student//课程或 /学生/4/课程/ 我是否需要验证它并发送无效路径参数的消息?由于它没有执行控制器功能,如何进行验证? 或者由于URI本身是错误的,默认404没有任何消息。 我尝试了@Non空白验证,但仍然显示白标错误页面。非空白验证是否

  • 我在学习本教程的过程中,最终成功地构建了从父目录运行mvn clean install的项目,然后进入api目录并运行mvn Spring-Boot:Run,应用程序在localhost:8080上提供服务,但是在构建war文件时,Maven不知怎么地没有接收从Angular编译的静态文件,而是在http://localhost:8080上给我一个404。有谁能告诉我这里可能出了什么问题吗? 我还