All Projects → lihengming → Spring Boot Api Project Seed

lihengming / Spring Boot Api Project Seed

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

Programming Languages

java
68154 projects - #9 most used programming language
FreeMarker
481 projects

Projects that are alternatives of or similar to Spring Boot Api Project Seed

Tutorial
Spring Boot的例子,包含RESTful API, MVC, JMS, Cache, Mybatis, Cache, Websocket...
Stars: ✭ 215 (-97.61%)
Mutual labels:  rest, restful, mybatis, spring-boot
Guns
Guns基于SpringBoot 2,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl!Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架!
Stars: ✭ 3,327 (-62.95%)
Mutual labels:  rest, mybatis, spring-boot
Horse
Fast, opinionated, minimalist web framework for Delphi
Stars: ✭ 295 (-96.71%)
Mutual labels:  api, rest, restful
Koa Rest Api Boilerplate
💯 Boilerplate for Node.js Koa RESTful API application with Docker, Swagger, Jest, CodeCov and CircleCI
Stars: ✭ 420 (-95.32%)
Mutual labels:  api, rest, restful
Flask Restplus
Fully featured framework for fast, easy and documented API development with Flask
Stars: ✭ 2,585 (-71.21%)
Mutual labels:  api, rest, restful
Http Fake Backend
Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 253 (-97.18%)
Mutual labels:  api, rest, restful
Springboot Mybatis
A REST back-end framework, integrated by Spring Boot, MyBatis and Spring Security OAuth
Stars: ✭ 359 (-96%)
Mutual labels:  rest, mybatis, spring-boot
Node Express Postgresql Sequelize
Node.js, Express.js, Sequelize.js and PostgreSQL RESTful API
Stars: ✭ 148 (-98.35%)
Mutual labels:  api, rest, restful
Apidoc
RESTful API 文档生成工具,支持 Go、Java、Swift、JavaScript、Rust、PHP、Python、Typescript、Kotlin 和 Ruby 等大部分语言。
Stars: ✭ 785 (-91.26%)
Mutual labels:  api, rest, restful
Ngx Restangular
Restangular for Angular 2 and higher versions
Stars: ✭ 787 (-91.24%)
Mutual labels:  api, rest, restful
Yet Another Rest Client
YARC (Yet Another REST Client) is an easy-to-use REST Client for Google Chrome.
Stars: ✭ 23 (-99.74%)
Mutual labels:  api, rest, restful
Graphql2rest
GraphQL to REST converter: automatically generate a RESTful API from your existing GraphQL API
Stars: ✭ 181 (-97.98%)
Mutual labels:  api, rest, restful
The Rest Architectural Style
An article on the REST architecture style.
Stars: ✭ 168 (-98.13%)
Mutual labels:  api, rest, restful
Django Oscar Api
RESTful JSON API for django-oscar
Stars: ✭ 251 (-97.2%)
Mutual labels:  api, rest, restful
Flama
🔥 Fire up your API with this flamethrower
Stars: ✭ 161 (-98.21%)
Mutual labels:  api, rest, restful
Hope Boot
🌱 Hope-Boot 一款现代化的脚手架项目
Stars: ✭ 3,241 (-63.9%)
Mutual labels:  mybatis, mapper, spring-boot
Flask Restx
Fork of Flask-RESTPlus: Fully featured framework for fast, easy and documented API development with Flask
Stars: ✭ 1,050 (-88.31%)
Mutual labels:  api, rest, restful
Golang Gin Realworld Example App
Exemplary real world application built with Golang + Gin
Stars: ✭ 1,780 (-80.18%)
Mutual labels:  api, rest, restful
Node Express Mongoose Passport Jwt Rest Api Auth
Node, express, mongoose, passport and JWT REST API authentication example
Stars: ✭ 146 (-98.37%)
Mutual labels:  api, rest, restful
Typescript Rest
This is a lightweight annotation-based expressjs extension for typescript.
Stars: ✭ 458 (-94.9%)
Mutual labels:  api, rest, restful

Licence GitHub Release

简介

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 的支持。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].