From 75b8bff470f52b1ab31b52e3eaff9d811cc907bf Mon Sep 17 00:00:00 2001 From: zjx0905 <954270063@qq.com> Date: Tue, 11 Apr 2023 16:26:13 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BB=8B=E7=BB=8D=20fork=20=E7=9A=84?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vitepress/config.ts | 1 + docs/pages/api/fork.md | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 docs/pages/api/fork.md diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index bbd5459..05c8832 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -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' }, ], }, diff --git a/docs/pages/api/fork.md b/docs/pages/api/fork.md new file mode 100644 index 0000000..2db9bca --- /dev/null +++ b/docs/pages/api/fork.md @@ -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' +```