axios.create设置请求方式
时间: 2025-05-16 18:07:53 浏览: 13
### 如何通过 `axios.create` 设置默认请求方式
在 JavaScript 或 TypeScript 中,可以通过 `axios.create` 方法创建一个新的 Axios 实例,并为其设置默认配置。这些默认配置可以包括基础 URL、超时时间以及最重要的——默认请求方法。
以下是实现这一功能的具体代码示例:
#### 使用 `axios.create` 配置默认请求方法
```javascript
// 创建一个自定义的 Axios 实例
const customAxiosInstance = axios.create({
baseURL: 'http://localhost:3000', // 默认的基础URL [^4]
timeout: 5000, // 请求超时时间为5秒
method: 'get' // 设置默认请求方法为GET
});
// 测试 GET 请求
customAxiosInstance('/posts')
.then(response => {
console.log('GET Response:', response.data);
})
.catch(error => {
console.error('Error during GET request:', error);
});
// 如果需要发送 POST 请求,则需显式指定method字段
customAxiosInstance.post('/posts', { title: 'foo', body: 'bar', userId: 1 })
.then(response => {
console.log('POST Response:', response.data);
})
.catch(error => {
console.error('Error during POST request:', error);
});
```
上述代码展示了如何利用 `axios.create` 来设定默认的请求方法为 `GET`。需要注意的是,默认请求方法仅适用于未明确指定 `method` 参数的情况;如果调用时指定了其他方法(如 `.post()`),则会覆盖默认值[^2]。
#### 结合 TypeScript 定义更复杂的实例
当使用 TypeScript 开发时,还可以进一步增强类型安全性并封装逻辑。例如,在 React 项目中可能希望将 API 基础路径抽象出来以便重用[^3]:
```typescript
import axios from 'axios';
class HttpRequest {
private instance;
constructor(baseUrl: string) {
this.instance = axios.create({
baseURL: baseUrl,
timeout: 5000,
method: 'get'
});
}
public async get<T>(url: string): Promise<T> {
const response = await this.instance.get(url);
return response.data;
}
}
// 初始化类实例
const httpRequest = new HttpRequest('http://localhost:3000');
// 调用API接口
(async () => {
try {
const posts = await httpRequest.get<any[]>('/posts');
console.log(posts); // 输出获取到的文章列表
} catch (error) {
console.error('Failed to fetch data:', error);
}
})();
```
此段代码不仅设置了默认请求方法,还引入了泛型支持以提高返回数据类型的灵活性和准确性。
---
阅读全文
相关推荐


















