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

OpenAPI Generator是基于OpenAPI规范的开源工具,用于自动生成API客户端库、服务器存根和文档,简化开发工作。通过使用docker中的官方镜像避免全局安装,并能根据yaml文件一键更新typescript-axios类型的前端请求代码,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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文件。

 然后就是静静的等待。

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

とても便利です。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值