{"repo":"pddon/easy-spring-boot-api","free":true,"listed":false,"github":"https://github.com/pddon/easy-spring-boot-api","clone":"git clone https://github.com/pddon/easy-spring-boot-api.git","description":"A Fast API Development Framework Based on Springboot2 and java8","language":"Java","stars":80,"topics":["api","easy","easyapi","framework","spring-boot","springboot2"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"easy-spring-boot-api框架 传送门 Gitee源码地址：https://gitee.com/pddon/easy-spring-boot-api 演示地址：https://demo.pddon.cn/doc.html(暂未部署) 1、应用场景 简介 本项目是基于springboot的api接口开发框架，可用于构建OpenAPI、业务系统的接口服务器等等。其特点如下： 简化接口开发、接口对接工作 增强接口易用性、安全性 标准化接口请求/响应参数、格式、错误码、异常处理、国际化翻译、接口日志、接口调用频次控制 增加了一些通用功能支持（如：缓存、锁、防重提交、接口覆盖、会话控制等等）。 通过其提供的注解功能即可启用，可以做到零配置零代码即可集成常用api开发需要的所有基础能力。 支持常用api的灵活自定义实现，包括且不限于加签验签、加解密算法等等功能！ 支持yaml配置启停各种预置功能 提供多种客户端包接入，现已提供java版本和Typescript版本客户端包 集成该项目后，不用再从零实现api安全、加签、验签、加解密、数据脱敏、异常处理、国际化、接口文档、错误码、缓存、会话、接口替换、分布式锁、应用、渠道管理等等功能。 java版本客户端就在此项目下：easy-spring-boot-api-client TS版本客户端地址：https://github.com/pddon/easy-api-client 快速入门教程： https://github.com/pddon/easy-spring-boot-api/blob/main/doc/quickStart.md 1.1 项目架构说明 1.1.1 easy-spring-boot-api跟Springboot的关系 1. 说明 easy-spring-boot-api是基于springboot开发的，自然强依赖于springboot easy-spring-boot-api在springboot提供的能力之上，为开发者开发API接口提供了很多通用功能，比如接口安全（加签、验签、加解密、数据脱敏）、参数校验、防重复提交、缓存、锁、异常处理、请求响应格式规范和自动包装、国际化翻译、api接入应用渠道管理、接口文档等等功能，提供了默认实现，且支持自定义替换或拓展相关功能 2. 示意图 easy-spring-boot-api使用了springboot带来的所有便利，其在springmvc的基础上提供了额外的功能增强，如下图所示 1.1.2 easy-spring-boot-api项目组件架构解析 架构图 组件介绍 主要分为以下几类组件 1. API调用拦截器 基于AOP切面设计的一套API请求、响应拦截处理流程。提供了在调用接口前后做一些通用的预处理，比如说参数校验、参数装饰、访问控制、日志输出、会话控制等等。目前内置的拦截器有： 系统参数校验器 请求参数校验器 数字签名请求验签器、响应加签器 接口防重复提交控制器 接口用户会话控制器 接口日志打印器 接口访问控制器 请求、响应内容装饰器 也支持业务灵活定制通用的API调用拦截器。 2. 参数装饰器 参数装饰器机制通过遍历参数内容，逐个字段进行修饰，具体修饰规则由特定的装饰器制定。常见的使用场景有，对请求参数解密、响应参数加密、响应参数国际化、响应参数脱敏等等 注意：参数装饰器只能对参数内容做修饰，而无法改变参数类型。 目前内置的参数装饰器有： 请求参数解密器 响应参数加密器 系统参数自动填充器 响应参数国际化翻译器 也支持业务灵活拓","default_branch":null,"files":null,"tree":[],"storefront":"/r/pddon","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/pddon/easy-spring-boot-api/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}