npm 包 @progresso/openapi-typescript-client-api-generator 使用教程

简介

@progresso/openapi-typescript-client-api-generator 是一款 TypeScript 客户端 API 生成器,用于根据 OpenAPI 规范生成客户端代码。它可以方便的将 OpenAPI 定义自动生成为 TypeScript 类型定义并生成可重用的 API 呼叫代码。

本文将简要介绍如何使用 @progresso/openapi-typescript-client-api-generator 生成 TypeScript 客户端 API,并且给出详细的使用说明和示例代码。

安装

安装 @progresso/openapi-typescript-client-api-generator 的最简单方法是使用 npm

--- ------- ---------- --------------------------------------------------

使用方法

设定参数

首先需要设定包的配置参数,最简单的方法是通过参数文件(例如openapi.json):

-
  --------- ----------------------------------------------
  --------- ------------
  ------------ -----------
  ------------ --------------
  ---------- --
-

参数含义如下:

  • apiUrl: OpenAPI 定义文件的 url 地址。
  • output: 自动生成客户端代码的目标目录。
  • modelName: TypeScript 定义类的名称。这个用于 TypeScript 引用。
  • className: 自动生成的客户端 API 类名。
  • options: 用于配置 API 生成器的选项。

生成代码

接下来,我们可以运行代码生成器:

--------------------------------------- ------------

或者在 package.json 文件中,添加 Script 配置,以使用 npm 运行:

-
  ---------- -
    ----------- ---------------------------------------- -------------
  -
-

然后我们可以运行:

--- --- --------

即可生成 TypeScript 客户端 API 代码。

示例代码

下面是一个简单的示例代码:

------ - ----------- - ---- -----------------
------ - --- - ---- --------------------------------

-- --- ----------- --
----- --- - --- --------------

-- -- ------- -- ---------- ---------
---------------- ------ --- ------------- ---- -- -
  -----------------
---

这将打印出来 pet 的 JSON 结果。

选项

默认情况下,API 生成器将生成代码,以支持 Promise 和 fetch。但是可以通过 options 变量来更改它。例如:

-
  --------- ----------------------------------------------
  --------- ------------
  ------------ -----------
  ------------ --------------
  ---------- -
    -------------- ------
    ----------- ----
  -
-

有关 options 可用值的列表,请参考 openapi-generator

总结

@progresso/openapi-typescript-client-api-generator 是一个方便的 TypeScript 客户端 API 生成器,可以通过 OpenAPI 规范自动生成 TypeScript 类型和代码。通过本文,我们可以学习如何使用它,以及如何利用其功能来自动生成并重复使用 API 呼叫代码。如果在使用中有任何问题,可以参考 GitHub 仓库 或者文档,希望本文对您有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6006734f890c4f7277583818


猜你喜欢

  • npm 包 `react-native-nsd-fork` 使用教程

    本教程将介绍如何使用 npm 包 react-native-nsd-fork 在 React Native 开发中实现局域网内设备的发现和通信。react-native-nsd-fork 是一个基于原...

    4 年前
  • npm 包 cyanotype.css 使用教程

    简介 cyanotype.css 是一个基于 CSS3 的框架,它提供了多种常用的 CSS 样式。使用 cyanotype.css 可以方便快捷地美化网站样式,提高网站的美观度和用户体验。

    4 年前
  • npm包esdragon-translator使用教程

    在前端开发过程中,翻译工具是一项很必要的技术,而esdragon-translator就是一款优秀的npm包,可以方便地帮助前端工程师进行繁体中文和简体中文之间的翻译。

    4 年前
  • npm 包 @yhtml5/axios-plugins 使用教程

    @yhtml5/axios-plugins 是一个基于 axios 封装的插件集合,能够优化前端请求的使用体验,提高开发效率。本文将为您详细介绍这个 npm 包的使用方法,包含了深度学习和实际指导意义...

    4 年前
  • npm包sida-iau 使用教程

    简介 sida-iau是一款基于前端框架的npm包,能够帮助开发者实现图像智能分析和理解。该插件的主要功能是提供视觉识别API的封装,支持图像标签、明星脸、人脸检测、人脸验证等功能。

    4 年前
  • npm 包 @wongyouth/hemera-wxpay 使用教程

    简介 @wongyouth/hemera-wxpay 是基于 hemera 和微信支付的 Node.js 插件,在 Node.js 应用程序中进行微信支付。 该插件提供了一种快速且易于使用的方式来处理...

    4 年前
  • npm 包 advanced-timer 使用教程

    前言 前端开发中经常需要使用定时器来帮助我们实现一些动态效果或者定时任务。而 JavaScript 中原生的定时器有一些限制,例如只能设置单次或重复的定时任务,没有暂停和继续的功能等等。

    4 年前
  • npm 包 dot-extension-manager 使用教程

    前言 在前端开发中,我们经常需要使用各种第三方库或组件,这些库或组件通常是以 npm 包的形式发布到 npmjs.com 上的。在使用这些 npm 包时,经常需要手动修改或调整部分代码,以适应项目的需...

    4 年前
  • npm 包 @specialblend/aws-sdk-promise 使用教程

    简介 @specialblend/aws-sdk-promise 是一个基于 AWS SDK for JavaScript 和 Bluebird 的 Promise 版本封装的 npm 包。

    4 年前
  • npm 包 any-case 使用教程

    简介 在前端开发中,我们经常需要对字符串进行格式化。而 any-case 是一个可以帮助你格式化字符串的 npm 包。它支持将字符串转换成蛇型、驼峰型、帕斯卡命名法等多种命名方式。

    4 年前
  • npm 包 vidiff 使用教程

    前言 在前端开发中,我们常常需要比较两个版本之间的差异,并且希望能够快速、精准地定位到差异点,以方便我们进行下一步工作。这时候,我们可以使用 vidiff 这个 npm 包来实现这个目的。

    4 年前
  • npm 包 spider.io 使用教程

    简介 spider.io 是一个能够帮助我们对网页数据进行请求和解析的 npm 包,它支持多种数据源的访问和解析,并且提供了一些非常实用的功能,例如获取页面结构、分析页面中的数据、模拟人类操作与行为等...

    4 年前
  • npm 包 @specialblend/aws-sdk-mock 使用教程

    在前端应用开发过程中,AWS 服务经常被用来构建和部署云端应用程序。但是,为了进行本地开发和测试,需要模拟 AWS 服务的行为,这就引出了 AWS SDK Mock 的概念。

    4 年前
  • npm 包 @eperedo/calendar-hooks 使用教程

    前言 在日程管理中,我们经常需要在前端实现日历功能。为了方便开发者快速地实现日历功能,开发者会使用一些常见的日历组件来搭建界面和管理数据。在这里我们将介绍一个日历组件库中的 npm 包 @epered...

    4 年前
  • npm 包 @fivethree/async-pipes 使用教程

    在前端开发中,我们经常处理异步数据流。@fivethree/async-pipes 是一个用于处理异步数据流的小型 npm 包。它提供了一些有用的管道函数,可以帮助我们更轻松地处理异步数据流,从而提高...

    4 年前
  • npm 包 readdir-sorted 使用教程

    在前端开发中,处理文件夹操作是一项常见且必须的任务。然而,在 Node.js 中,处理文件夹操作需要一些基础知识和技能。readdir-sorted 是一个非常有用的 npm 包,可通过其简单易用的 ...

    4 年前
  • npm 包 suspend-pc 使用教程

    在前端开发中,我们经常会遇到一些需要暂停执行的情况,比如等待用户输入或者等待异步请求返回,这时候就需要使用到暂停执行的技术。suspend-pc 是一个可以暂停执行 JavaScript 代码的 np...

    4 年前
  • npm 包 Gatsby-Theme-Shop 使用教程

    简介 Gatsby-Theme-Shop 是一款基于 Gatsby 的前端包,它提供了一个使用 React 构建的完整的电商商城网站的模板。它带有一组预先构建的页面和组件,可以轻松地创建具有良好用户界...

    4 年前
  • npm 包 baha-crawler 使用教程

    什么是 baha-crawler baha-crawler 是一个基于 Node.js 的爬虫库,可用于爬取巴哈姆特论坛(https://forum.gamer.com.tw/)上的帖子内容。

    4 年前
  • npm 包 docz-quick-start 使用教程

    简介 docz-quick-start 是一个用于创建 React 组件的文档网站的工具包,它可以帮助开发者快速创建出一个漂亮的文档网站。本教程将详细介绍如何使用这个工具包,并通过实例代码来演示这个过...

    4 年前

相关推荐

    暂无文章