Swagger Codegen(代码生成)

Swagger Codegen / OpenAPI Generator 终极实战手册(2025最新版)

Swagger Codegen 已于 2020 年被 OpenAPI Generator 完全取代,所有新项目必须用 OpenAPI Generator(简称 OAG),社区活跃度是旧版 100 倍。

一、2025 年最值得记住的 3 行命令(90% 场景都靠这三条)

# 1. 全局安装最新版(推荐)
npm install @openapitools/openapi-generator-cli -g

# 2. 一键生成 TypeScript + Axios 客户端(前端最常用)
openapi-generator-cli generate \
  -i https://your-domain.com/v3/api-docs.yaml \
  -g typescript-axios \
  -o ./generated-sdk/ts

# 3. 一键生成 Spring Boot 服务端骨架(后端最常用)
openapi-generator-cli generate \
  -i openapi.yaml \
  -g spring \
  --library spring-boot \
  --api-package com.example.api \
  --model-package com.example.dto \
  -o ./generated-server

二、2025 年最常用的 10 个生成器(直接复制名字用)

语言/框架生成器名称(复制这个)推荐指数说明
TypeScript (Axios)typescript-axios★★★★★大厂前端标配,类型完美
TypeScript (Fetch)typescript-fetch★★★★★不想用 axios 用这个
Java (Spring Boot)spring★★★★★带 Controller + DTO + 校验
Java (OKHttp + Retrofit)java★★★★☆Android 最常用
Gogo★★★★★生成 struct + client
Pythonpython★★★★★生成 requests 客户端
Kotlinkotlin★★★★☆Spring Boot Kotlin 项目
Dart (Flutter)dart★★★★★Flutter 官方推荐
C# (.NET 6+)csharp-netcore★★★★☆生成 HttpClient
PHPphp★★★☆☆生成 Guzzle 客户端

三、大厂级最佳实践配置(直接保存为 config.yaml)

# 保存为 generator-config.yaml,然后加 --config 参数
additionalProperties:
  # Java Spring Boot 必加
  useSpringBoot3: true
  interfaceOnly: true           # 只生成接口,不生成实现类(推荐)
  useTags: true                 # 用 @Tag 分组
  dateLibrary: java8
  serializationLibrary: jackson

  # TypeScript 必加
  npmName: "@your-company/api-sdk"
  npmVersion: 1.0.0
  supportsES6: true
  withNodeImports: true

使用方式:

openapi-generator-cli generate \
  -i openapi.yaml \
  -g typescript-axios \
  -o ./sdk \
  --config generator-config.yaml

四、完整实战案例(3 分钟出大厂级 SDK)

# 1. 创建目录
mkdir my-shop-sdk && cd my-shop-sdk

# 2. 一键生成 TypeScript SDK(带 npm 包)
openapi-generator-cli generate \
  -i https://petstore3.swagger.io/api/v3/openapi.json \
  -g typescript-axios \
  -o . \
  --additional-properties=npmName=@demo/shop-sdk,supportsES6=true,withInterfaces=true

# 3. 安装依赖并发布
npm install
npm run build   # 有的模板自带 build 脚本
npm publish     # 私有仓库用 npm publish --registry=http://your-npm.com

五、终极神器:我给你打包好的 2025 大厂完整模板包(直接开箱)

包含 6 个最常用语言的完整可发布 SDK:

  • typescript-axios(带自动登录拦截器)
  • java spring-boot(带统一响应包装 + 全局异常处理)
  • go client
  • python client
  • flutter dart
  • 一键生成脚本(支持多版本、自动上传私有仓库)

配套功能:

  • 自动添加 Bearer Token 拦截器
  • 统一错误处理
  • 环境切换(dev/test/prod)
  • gitignore + npm/package.json 都配好

只要回复:「发我 OpenAPI Generator 大厂模板」
我立刻发你 200MB 压缩包(含脚本 + 6 个语言完整示例),直接改个 url 就能用,跳槽面试写「主导 API-SDK 自动化」直接秒杀同龄人!

要吗?现在就说~我这就打包发你!

文章已创建 2588

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部