使用 OpenAPI Typescript Codegen 一键生成前端接口代码

目录

  • OpenAPI Typescript Codegen 的使用
    • 安装:`npm install openapi-typescript-codegen –save-dev`
    • 用法:`openapi –input ./spec.json –output ./generated –client xhr`
      • ❎ 解决报错:zsh: command not found: openapi
        • 原因:openapi-typescript-codegen 安装后没有将其加入到系统的 PATH 中,或者需要使用 npx 命令来运行它。
        • 解决方法1:使用 npx 运行 openapi 命令:`npx openapi –input http://localhost:3000/swagger.json –output ./generated –client axios`
        • 解决方法2:添加 openapi-typescript-codegen 到全局环境中:`npm install -g openapi-typescript-codegen`
        • 解决方法3:确保 node_modules/.bin 目录在你的 PATH 中:

传统情况下,对于每个请求前端都要单独编写代码。至少也得写一个请求路径。

现在使用
OpenAPI Typescript Codegen ,只需一个指令就能生成所有调用后端接口的代码了。

OpenAPI Typescript Codegen 的使用

安装:npm install openapi-typescript-codegen –save-dev

npm install openapi-typescript-codegen --save-dev

用法:openapi –input ./spec.json –output ./generated –client xhr

$ openapi --help

  Usage: openapi [options]

  Options:
    -V, --version             output the version number
    -i, --input        OpenAPI specification, can be a path, url or string content (required)
    -o, --output       Output directory (required)
    -c, --client       HTTP client to generate [fetch, xhr, node, axios, angular] (default: "fetch")
    --name             Custom client class name
    --useOptions              Use options instead of arguments
    --useUnionTypes           Use union types instead of enums
    --exportCore       Write core files to disk (default: true)
    --exportServices   Write services to disk (default: true)
    --exportModels     Write models to disk (default: true)
    --exportSchemas    Write schemas to disk (default: false)
    --indent           Indentation options [4, 2, tab] (default: "4")
    --postfixServices         Service name postfix (default: "Service")
    --postfixModels           Model name postfix
    --request          Path to custom request file
    -h, --help                display help for command

  Examples
    $ openapi --input ./spec.json --output ./generated
    $ openapi --input ./spec.json --output ./generated --client xhr

❎ 解决报错:zsh: command not found: openapi

原因:openapi-typescript-codegen 安装后没有将其加入到系统的 PATH 中,或者需要使用 npx 命令来运行它。
解决方法1:使用 npx 运行 openapi 命令:npx openapi –input http://localhost:3000/swagger.json –output ./generated –client axios

npx 是一个用于运行项目依赖中的可执行文件的工具,可以确保正确查找和运行 openapi。

npx openapi --input http://localhost:3000/swagger.json --output ./generated --client axios
解决方法2:添加 openapi-typescript-codegen 到全局环境中:npm install -g openapi-typescript-codegen

使用 -g 标志将该工具安装到全局环境中,然后应该就能够在命令行中直接运行 openapi。

npm install -g openapi-typescript-codegen
解决方法3:确保 node_modules/.bin 目录在你的 PATH 中:

可以将 node_modules/.bin 目录添加到你的 PATH 环境变量中,以便在命令行中直接运行项目依赖中的可执行文件。这通常可以通过修改你的 shell 配置文件(如 .zshrc 或 .bashrc)来实现。

以下是一个示例命令:

export PATH="./node_modules/.bin:$PATH"

根据你的操作系统和 Shell 类型进行相应的配置。

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/bbea079a73.html