# Http-Client-Configurable-API-Framework **Repository Path**: zhang-san123222/http-client-configurable-api-framework ## Basic Information - **Project Name**: Http-Client-Configurable-API-Framework - **Description**: Http Client Core 是一个基于 Spring Boot 和 MyBatis-Plus 构建的 Java 项目,旨在提供一个灵活且可配置的 HTTP 客户端框架。该框架支持动态配置 API 请求信息,如 URL、请求方法、请求头、请求体等,通过动态代理技术自动生成 HTTP 请求并处理响应,可帮助开发者更高效地进行 API 调用和管理 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2025-03-11 - **Last Updated**: 2025-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, SpringBoot, HttpClient ## README # Http-Client-Configurable-API-Framework ## 介绍 这是一个可配置的 API 调用框架,允许用户通过配置文件或数据库定义 API 请求的参数、路径、鉴权机制等信息,然后通过简单的接口调用即可执行预定义的 HTTP 请求。框架也支持数据库查询功能,提供统一的接口进行数据访问。 ## 软件架构 本项目基于 Spring Boot 构建,使用 MyBatis Plus 作为持久层框架,并整合了 Redis 缓存和 Hikari 连接池。框架支持动态 API 调用和数据库查询执行,具备良好的扩展性和灵活性,可以适配多种数据库类型。 ## 主要功能 - **可配置 API 调用**:通过配置定义 API 的基础 URL、路径、方法、参数等信息,调用时只需提供 API ID 和动态参数。 - **统一鉴权机制**:支持定义鉴权接口,自动处理鉴权逻辑。 - **数据库连接管理**:支持多种数据库连接配置,包括数据库类型、主机、端口、用户名、密码等。 - **动态数据库查询**:通过预定义的 SQL 查询配置,支持动态执行 SQL 查询。 - **缓存支持**:通过 Redis 缓存 API 配置,提升调用性能。 - **接口文档**:通过 OpenAPI 提供 API 文档支持。 ## 特性 - 支持 **HTTP API** 和 **数据库查询** 的统一调用方式。 - 使用 **Redis** 缓存 API 和数据库查询配置,提高执行效率。 - 提供 **分页查询** 支持,方便数据管理。 - 支持 **连接池配置**,提升 HTTP 请求和数据库连接的性能。 - 提供 **自动配置管理**,包括 API、鉴权和数据库连接的增删改查。 ## 使用方式 ### 通用 API 调用 通过 `/common/callApi/{apiId}` 接口,传入 API ID 和可选的动态参数、请求头和请求体,即可调用预定义的 HTTP API。 ### 数据库查询 通过 `/common/executeDbQuery/{queryConfigId}` 接口,传入数据库查询配置 ID,即可执行预定义的 SQL 查询。 ### 配置管理接口 - **API 配置管理**:`/v1/module/apiConfig` - **鉴权配置管理**:`/v1/module/authConfig` - **数据库连接配置管理**:`/v1/module/dbConnectionConfig` - **数据库查询配置管理**:`/v1/module/dbQueryConfig` ## 参与贡献 欢迎贡献代码或提出建议。您可以: 1. Fork 项目 2. 创建新分支 3. 提交 Pull Request ## 特技 - 使用 **Spring Boot** 快速构建微服务 - 使用 **MyBatis Plus** � 简化数据库操作 - 使用 **Redis** 进行缓存管理 - 使用 **HikariCP** 作为高性能数据库连接池 - 使用 **Swagger** 提供 API 文档 - 使用 **动态 SQL** 执行数据库查询 - 支持 **分页和参数解析**,提升灵活性 ## 许可证 本项目遵循 MIT 许可证。详情请查看项目根目录下的 `LICENSE` 文件。 ## 如何运行 1. 确保安装了 JDK 21。 2. 使用 Maven 构建项目。 3. 运行 `build.sh` 脚本构建 Docker 镜像。 4. 使用 Docker 运行项目:`docker run -d --name http-client-framework -p 8080:8080 http-client-core` ## 配置说明 - HTTP 客户端连接池参数配置在 `application.yml` 中的 `http-client.pool` 部分。 - Redis、数据库连接池等配置也在 `application.yml` 中定义。 ## 欢迎使用 本框架适用于需要灵活配置 HTTP API 和数据库查询的企业级应用,欢迎使用并提出宝贵意见!