在中后台系统开发中,API层作为业务功能的核心支撑,其标准化程度直接影响开发效率和代码质量。本文将详细介绍一套适用于Vue/React的API分层开发方案。

传统开发模式存在接口调用混乱、缓存方案不统一等问题,导致开发效率低下。针对这些痛点,我们设计了一套基于Axios和TanStack Query的三层API架构。
本方案基于三大核心技术,专为中后台业务场景优化:
作为异步状态管理工具,它原生支持自动缓存、窗口聚焦刷新等后台常用功能,避免了手动编写冗余逻辑。其跨框架特性使其成为中后台项目的理想选择。
实现全层级类型约束,从接口参数到响应数据都进行严格校验,显著提升代码可维护性,特别适合大型Admin系统开发。
通过自动生成前端TS类型和请求客户端,彻底解决了前后端类型不同步的问题,实现接口文档与代码的实时同步。
采用业务Hook层、Service服务层、自动生成层的三层结构,遵循单向依赖、职责分离等核心原则,确保架构清晰。
UI层(Vue组件/React组件)
↓ 依赖
Hook层(Composables/Hooks)→ 封装TanStack Query,面向业务,提供两种调用模式
↓ 依赖
Service服务层 → 纯异步函数,封装接口客户端,处理参数适配
↓ 依赖
Generated自动生成层 → Protobuf自动生成类型+客户端,禁止手动修改
作为架构的数据基础,由Protobuf文件自动生成,开发者禁止手动修改,确保前后端类型严格同步。
作为适配层,封装自动生成的客户端,输出纯异步函数,无框架依赖,可在任意环境运行。
面向开发者的主要调用入口,基于TanStack Query封装,适配Vue/React双技术栈。
采用统一的目录结构,仅顶层函数目录区分Vue的composables和React的hooks:
src/api/
├── index.ts
├── generated/
│ └── admin/service/v1/
│ └── index.ts
├── service/
│ ├── auth.ts / user.ts / role.ts
│ └── index.ts
└── composables/hooks/
├── shared.ts
├── auth.ts / user.ts
└── index.ts
推荐使用useXxx系列接口,自动管理加载状态和缓存:
新增业务模块只需4步:
针对后台特性优化默认配置:
这套API分层方案有效解决了中后台开发的常见痛点,通过标准化架构和统一规范,显著提升了开发效率和代码质量,适用于各类Admin系统项目。