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

NodeJS中是否有可复用OpenAPI Specs的库以避免手动编写API请求?

NodeJS中基于OpenAPI Specification自动生成API请求的库

当然有,NodeJS生态里有不少成熟的库能帮你基于OpenAPI Specification自动生成API客户端,不用手动编写每个请求,下面是几个常用选项:

  • openapi-typescript-codegen
    这是TypeScript项目里的热门选择,能从OpenAPI Spec生成类型安全的API客户端和接口定义,自带完整的类型提示。
    安装命令:npm install openapi-typescript-codegen --save-dev
    生成客户端命令:npx openapi-typescript-codegen --input ./openapi.json --output ./src/api
    生成后直接导入使用:

    import { UserApi } from './src/api';
    const userApi = new UserApi();
    // 调用接口,自动补全参数和返回值类型
    const user = await userApi.getUserById(123);
    
  • swagger-client
    适合需要动态加载Spec的场景,不需要预生成代码,运行时直接加载OpenAPI文件并生成请求方法。
    安装命令:npm install swagger-client
    使用示例:

    import SwaggerClient from 'swagger-client';
    
    const client = await SwaggerClient({
      url: './openapi.json',
      usePromise: true
    });
    
    // 调用接口,路径和参数对应Spec定义
    const response = await client.apis.User.getUserById({ id: 123 });
    
  • axios-openapi-generator
    基于Axios封装的工具,生成的API客户端完全兼容Axios的配置、拦截器等特性,适合已经在用Axios的项目。
    安装命令:npm install axios-openapi-generator --save-dev
    生成命令:npx axios-openapi-generator -i ./openapi.json -o ./src/api
    使用示例:

    import { getUserById } from './src/api';
    // 调用接口,保持Axios的请求风格
    const response = await getUserById({ id: 123 });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:04:55