在调用axios与后端对接API的时候,可能后端的数据会存储在不同的数据库中。这时我们需要动态调用BaseURL来切换数据库。
假设:有 database1, database2.
api文件夹的架构如下:
repositories
│ Repository.js
│ RepositoryFactory.js
│ RepositoryInstance.js
│ userRepository.js
│ bookRepository.js
在 Repository.js中,我们首先create a repository instance
import axios from "axios";
/// Creates a repository instance
export default function(urlPortion) {
if (!urlPortion) {
urlPortion = 'database1';
}
let baseURL = `http://example.com/${urlPortion}/`;
let instance = axios.create({
baseURL
});
instance.interceptors.response.use(
response => {
if (response.status === 200) {
return Promise.resolve(response);
}