You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在React项目中使用openapi-generator生成的OpenAPI客户端

基于typescript-axios生成的API客户端基础使用指南

1. 实例化API客户端

生成的代码目录中会包含configuration.ts配置文件、以及按Swagger标签分类的API类文件(未做标签分类时默认生成DefaultApi),实例化逻辑如下:

// 从生成的代码目录导入对应依赖
import { Configuration, DefaultApi, UserApi } from 'src/components/api'

// 初始化全局配置
const baseConfig = new Configuration({
  basePath: 'https://你的后端服务域名', // 可覆盖Swagger中预设的接口基础路径
})

// 实例化需要用到的API类
export const defaultApi = new DefaultApi(baseConfig)
export const userApi = new UserApi(baseConfig)

2. 配置请求Access Token

有两种常用的token配置方式,可根据业务场景选择:

  • 静态token配置:适合token不会动态变更的场景,直接在初始化配置时传入
const baseConfig = new Configuration({
  basePath: 'https://你的后端服务域名',
  accessToken: '你的固定access_token值',
})
  • 动态token配置:适合token存在本地存储、会随登录状态更新的场景,通过API实例内置的axios拦截器注入
import { Configuration, DefaultApi } from 'src/components/api'

const baseConfig = new Configuration({
  basePath: 'https://你的后端服务域名',
})
export const defaultApi = new DefaultApi(baseConfig)

// 给axios实例添加请求拦截器,动态注入token
defaultApi.instance.interceptors.request.use((request) => {
  const token = localStorage.getItem('access_token')
  if (token) {
    request.headers.Authorization = `Bearer ${token}`
  }
  return request
})

所有实例化后的API类都有instance属性,对应原生axios实例,可直接按axios的原生规则配置拦截器、超时时间等参数。

3. 查询接口对应的调用方法名

两种方式可以快速匹配接口和调用方法:

  • 直接查看生成的API类文件:方法命名规则为[请求方式][接口路径驼峰化],例如GET /api/user/info会生成getApiUserInfo()方法,每个方法上方会标注对应原始接口路径、参数说明
  • 借助TS类型提示:在IDE中输入实例化后的API对象加.,会自动弹出所有可用方法列表,鼠标悬停即可查看该方法的入参、返回值完整类型定义

接口调用示例

// 调用获取用户信息接口
async function getUserInfo() {
  try {
    // 入参会自动做TS类型校验,无需额外手写类型定义
    const response = await userApi.getApiUserInfo({ userId: 123 })
    console.log('接口返回数据:', response.data)
  } catch (error) {
    console.error('请求失败:', error)
  }
}

内容的提问来源于stack exchange,提问作者Dawesign

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:24:05