介绍
api-datamodel 将后台接口组织成稳定、可复用、类型化的业务 API。它不替代 Fetch、Axios 或平台请求库,而是在网络请求之上建立清晰的业务边界。
为什么需要 API 建模
直接在页面中调用请求库,往往会让 URL、鉴权、响应判断和错误处理散落在各处:
text
页面 → URL / fetch / axios / 响应判断API 建模把这些细节收敛到服务和业务模块中:
text
页面 → userApi / orderApi / fileApi页面只描述“查询用户”或“提交订单”,底层请求规则可以集中维护。
基本模型
text
HttpOptions
↓
Service
↓
Business APIHttpOptions定义适配器、服务地址、默认请求配置和响应转换。Service保存一组服务规则,并创建业务 API。- 业务 API 按模块暴露方法,通过
$http使用底层请求能力。
普通使用只需要理解 Service 和业务 API。需要接入网络请求实现时阅读 请求适配器,需要增加或改变底层请求能力时再阅读 请求扩展。
两种建立 API 的方式
可以手工定义业务 API:
ts
const userApi = service.createApi('user', {
list(query: UserQuery) {
return this.$http.get<User[]>('list', query)
},
})也可以让 API Codegen 根据 OpenAPI 生成类型和业务 API。两种方式共用同一套 Service 和运行时模型,调用方式没有区别。
下一步: