本文主要是介绍使用openapi直接生成service代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
步骤:
1)进入openapi的GitHub地址:https://github.com/ferdikoomen/openapi-typescript-codegen
2)下载openapi插件
npm下载:
npm install openapi-typescript-codegen --save-dev
yarn下载:
yarn add openapi-typescript-codegen --save-dev
如果下载出现报错,去排查是否是npm或者yarn的环境变量没有配置好。
3)生成代码:是使用 openapi-typescript-codegen
工具生成客户端代码。具体来说,它们从 OpenAPI 规范文件(API 描述文件)生成 TypeScript 客户端代码库。
示例一:
openapi --input ./spec.json --output ./generated
详细解释:
openapi
: 这是openapi-typescript-codegen
工具的可执行命令。--input ./spec.json
: 指定输入文件,这里是当前目录下的spec.json
文件。这个文件包含了 OpenAPI 规范,描述了 API 的端点、请求和响应格式等。--output ./generated
: 指定输出目录,这里是当前目录下的generated
文件夹。生成的 TypeScript 客户端代码将被放在这个目录中。
示例二:
openapi --input ./spec.json --output ./generated --client xhr
详细解释:
openapi
: 这是openapi-typescript-codegen
工具的可执行命令。--input ./spec.json
: 指定输入文件,这里是当前目录下的spec.json
文件。--output ./generated
: 指定输出目录,这里是当前目录下的generated
文件夹。--client xhr
: 指定生成的客户端代码使用xhr
(XMLHttpRequest)库来发起 HTTP 请求。xhr
是一种基于浏览器的 HTTP 请求方法,与较老的浏览器兼容。
示例三:
openapi --input http://localhost:8121/api/v2/api-docs --output ./generated --client axios
使用 openapi-typescript-codegen
工具从指定的 OpenAPI 规范 URL 生成使用 axios
库的 TypeScript 客户端代码。
详细解释:
-
--input http://localhost:8121/api/v2/api-docs
:这是指定输入文件的参数。这里输入的不是一个本地文件,而是一个 URL。该 URL 指向一个 OpenAPI 规范文档,这个文档描述了 API 的端点、请求和响应格式等。在这个示例中,文档位于http://localhost:8121/api/v2/api-docs
。 -
--output ./generated
:这是指定输出目录的参数。生成的 TypeScript 客户端代码将被放在当前目录下的generated
文件夹中。 -
--client axios
:这是指定生成代码使用的 HTTP 客户端库的参数。这里指定使用axios
,这是一种基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js
报错解决办法1:
如果出现openapi命令不可用,但是排除了环境变量的问题,可以使用完整路径执行命令:
在确认路径正确添加之前,可以尝试使用 openapi-generator-cli
的完整路径来执行命令。
例如:
%USERPROFILE%\AppData\Local\Yarn\bin\openapi-generator-cli.cmd generate -i http://localhost:8121/api/v2/api-docs -g typescript-axios -o ./generated
报错解决办法2:
如何还是无法解决,检查可执行文件名称。你安装了 openapi-typescript-codegen
,该工具的可执行文件可能不叫 openapi
,而是 openapi-generator-cli
或 openapi-typescript-codegen
。
尝试以下命令之一:
使用 openapi-generator-cli
(如果是这个包)
openapi-generator-cli generate -i http://localhost:8121/api/v2/api-docs -g typescript-axios -o ./generated
使用 openapi-typescript-codegen
npx openapi-typescript-codegen --input http://localhost:8121/api/v2/api-docs --output ./generated --client axios
或者
%USERPROFILE%\AppData\Local\Yarn\bin\openapi-typescript-codegen.cmd --input http://localhost:8121/api/v2/api-docs --output ./generated --client axios
这篇关于使用openapi直接生成service代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!