强大的openAPI代码生成器——OpenAPI Generator

OpenAPI Generator简介(取自chatGPT):

OpenAPI Generator是一个开源的项目,它可以根据OpenAPI规范(以前称为Swagger规范)生成API客户端库、服务器存根和文档。OpenAPI规范是一种描述RESTful API的标准方式,它使用JSON或YAML格式定义API的结构、终端点、参数、响应等信息。

OpenAPI Generator的主要目标是简化开发人员在构建和维护API相关代码时的工作。它通过使用模板引擎和代码生成技术,根据OpenAPI规范自动生成多种编程语言的客户端和服务器代码,以及相关的文档。


为什么使用?

  • 不用封装大量的请求:自己封装的请求真没人家的好用
  • 基于yaml的api:只需更新yaml文件,一键更新前端请求代码
  • 类型完善:openapi generator会自动生成各种所需数据类型

使用openAPI generator之前封装请求是一个繁重的工作,维护起来也很麻烦(还需要不断地和后端人员确认),但是使用后一切就简单了起来。

至于openAPI generator的强大还需要在使用中去发现。

本次的演示是生成typescript-axios类型的请求,当然还有许多其他种类的封装(太多了,不一一列罗列):

Generators List | OpenAPI Generator

并且本次演示使用docker中的官方镜像:openapitools/openapi-generator-cli

https://hub.docker.com/r/openapitools/openapi-generator-cli/tags

这样做的好处是不用全局安装openapi generator。

  • 创建docker-compose.yml

    command命令中的各参数官网更详细:Documentation for the typescript-axios Generator | OpenAPI Generator
     
    # docker-compose.yml
    version: '3'
    services:
      openapi-generator-cli:
        image: openapitools/openapi-generator-cli:v7.0.1
        command:
          [
            'generate',
            '-i',
            './tmp/src/openapi.v3.yaml',# 卷中yaml文件映射到容器中的位置
            '-o',
            'tmp/dist',# 在容器中生成代码的输出路径
            '-g',
            'typescript-axios',# 生成的前端代码类型
            '--additional-properties=withSeparateModelsAndApi=true',
            '--model-package=model',
            '--api-package=api',
            '--type-mappings=Date=string',
          ]
        volumes:
          - ./submodules/performance-spec:/tmp/src # 定义卷
          - ./src/services:/tmp/dist # 定义卷
  • 准备API文档的yaml文件

    这个yaml文档一般是前后端通用的,是api设计的一种规范。
  • 启动docker
  • 通过docker compose启动容器
     
    docker-compose run --rm openapi-generator-cli

    openapi-generator-cli:在docker-compose.yaml中配置过了。

    --rm:在容器停止运行后自动删除容器。这意味着当容器运行结束后,Docker 将会自动清理并删除这个容器的文件系统,释放相应的资源。

    确保每次启用openapi-generator-cli都用的是最新的openapi.yaml文件。

 然后就是静静的等待。

最终在前端的代码会生成在配置好的位置,如:(文件夹的名字根据自己的配置可能有所不同)

とても便利です。

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OpenAPI 自动生成 SDK 是一种自动化工具,用于根据 OpenAPI 规范自动生成软件开发包(SDK)的代码。OpenAPI 是一种用于描述和定义 RESTful API 的规范,它提供了一种标准化的方式来描述 API 的终点、参数、请求和响应等信息。 使用 OpenAPI 自动生成 SDK 可以极大地简化开发人员在使用 API 时的工作。传统上,开发人员需要手动编写与 API 直接交互的代码,包括构造请求、处理响应、处理错误处理等。这样的工作繁琐且容易出错,而且可能需要花费大量的时间和精力。 而有了 OpenAPI 自动生成 SDK,开发人员只需提供 API 的 OpenAPI 规范文件,然后通过工具自动生成与 API 交互所需的代码。生成的 SDK 包含了 API 的各种调用方法,以及参数校验、请求构建、响应解析等功能。开发人员只需简单地调用生成的方法,就能快速地完成与 API 的交互,并且可以直接使用生成的代码进行开发。 OpenAPI 自动生成 SDK 并不仅限于特定的编程语言或框架,它可以生成适用于多种编程语言的代码。这样,开发人员可以根据自己的需求选择合适的编程语言进行开发,而不需要对于 API 的交互细节有过多的了解。 总而言之,OpenAPI 自动生成 SDK 是一种能够根据 API 的 OpenAPI 规范自动生成与 API 交互所需代码的工具。它可以极大地简化开发人员的工作,提高开发效率,并且能够适用于多种编程语言。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值