管理APIs
在一个项目中,我们可能需要使用到成百上千个请求 api,因此管理这些请求 api 变得尤为重要。
你可能会像 快速开始 中的代码片段那样编写请求发送的代码,所有请求代码写在一个文件中。
const { loading, data, error } = useRequest(
alovaInstance.Get('https://api.alovajs.org/profile', {
params: {
id: 1
}
})
);
这只是便于初学者理解,但在实际项目中,我们并不推荐这样做,因为 method 实例的用途不仅用于发送请求,它还可以用于操作缓存和状态,上面的用法会让这些请求 api 变得难以管理,如果你认为不对的话,你可能忘记一点:
响应数据缓存的 key 是由 method 实例的请求方法(method)、请求地址(url)、请求头参数(headers)、url 参数(params)、请求体参数(requestBody)组合作为唯一标识,任意一个信息或位置不同都将被当做不同的 key。
因此,在实际项目中应该把 method 实例进行管理,也可以统一管理 alova 实例。
api 文件结构
首先,你的项目需要一个统一存放 method 实例和 alova 实例的文件夹,例如叫做api
,以下为一个常见的 api 管理结构,你 也可以使用适合项目的任何结构。
|-api
| |-index.js -> 包含所有的alova实例
| |-methods
| | |-user.js
| | |-article.js
| | |-order.js
| | |-...
|-...
总之,你的项目应该使用适合的文件夹结构将它们管理起来。