docs: 介绍 fork 的使用方式

pull/41/head
zjx0905 2023-04-11 16:26:13 +08:00
parent d9fbf121e5
commit 75b8bff470
2 changed files with 23 additions and 0 deletions

View File

@ -47,6 +47,7 @@ export default defineConfig({
{ text: 'isAxiosError', link: '/api/is-axios-error' },
{ text: 'getUri', link: '/api/get-uri' },
{ text: 'create', link: '/api/create' },
{ text: 'fork', link: '/api/fork' },
{ text: 'Axios', link: '/api/axios' },
],
},

22
docs/pages/api/fork.md Normal file
View File

@ -0,0 +1,22 @@
# fork
## `axios.fork(defaults)`
现在很多公司后端采用的是微服务架构,您可以为每个服务单独派生一个领域进行请求管理。
派生领域,如果传入 `defaults.baseURL` 为相对路径,则会对 `axios.defaults.baseURL``defaults.baseURL` 进行拼接。
`domain` 除了拥有和 `axios` 相同的调用方式和请求方法的别名之外,同时还可以复用 `axios` 上的拦截器,这一点是 `axios.create(defaults)` 做不到了。
```typescript
axios.defaults.baseURL = 'https://www.api.com';
const domain = axios.fork({
baseURL: 'user',
});
domain.get('/:id', { id: 1 }); // get 'https://www.api.com/user/1?id=1'
domain.post('/', { id: 1 }); // post 'https://www.api.com/user/1'
domain.put('/:id', { id: 1 }); // put 'https://www.api.com/user/1?id=1'
domain.delete('/:id', { id: 1 }); // delete 'https://www.api.com/user/1?id=1'
```