Apifox 帮助文档
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
  1. 开发和调试 API
  • 帮助中心
  • 更新日志
  • 入门
    • 产品介绍
    • 联系我们
    • 私有化部署
  • 开始使用
    • 下载 Apifox
    • 注册与登录
    • 页面布局
    • 基本概念
    • 快速上手
      • 概述
      • 新建接口
      • 发送接口请求
      • 快捷请求
      • 添加断言
      • 新建测试场景
      • 分享 API 文档
      • 了解更多
    • 基础知识
      • 接口基本信息
        • 请求 URL 与方法
        • 请求参数与请求体
        • 请求头
        • 请求参数编码解码
        • HTTP/2
      • 认证与授权
        • 概述
        • 支持的授权类型
        • Digest Auth
        • OAuth 1.0
        • OAuth 2.0
        • Hawk Authentication
        • Kerberos
        • NTLM
        • Akamai EdgeGrid
        • CA 和客户端证书
      • 响应与 Cookie
        • 概述
        • API 响应
        • 创建和发送 Cookie
        • 实际请求
        • 提取响应示例
      • 请求代理
        • 网页端中的请求代理
        • 分享文档中的请求代理
        • 客户端中的请求代理
      • API Hub
        • API Hub
    • 导入导出数据
      • 概述
      • 手动导入
      • 定时导入
      • 导入设置
      • 导出数据
      • 其它方式导入
        • 导入 OpenAPI/Swagger
        • 导入 Postman
        • 导入 Apipost
        • 导入 Eolink
        • 导入 cURL
        • 导入 Markdown
        • 导入 Insomnia
        • 导入 apiDoc
        • 导入 .har 文件
        • 导入 knife4j
        • 导入 NEI
        • 导入小幺鸡(docway)
        • 导入 Apizza
        • 导入 WSDL
  • 设计 API
    • 概述
    • 新建 API 项目
    • 接口基础知识
    • 请求体多示例配置
    • 响应组件
    • 常用字段
    • 全局参数
    • 历史记录
    • 批量管理
    • 数据模型
      • 概述
      • 新建数据模型
      • 构建数据模型
      • 通过 JSON 等生成
      • 高级数据类型
    • 鉴权组件
      • 概述
      • 创建鉴权组件
      • 使用鉴权组件
      • 在线文档中的鉴权组件
    • 高级功能
      • 接口字段
      • 接口状态
      • 关联测试场景
      • 参数列表外观
      • 接口唯一标识
  • 开发和调试 API
    • 概述
    • 生成请求
    • 发送请求
    • 请求历史
    • 接口用例
    • 动态值
    • 校验响应
    • 文档模式/调试模式
    • 生成代码
    • 环境和变量
      • 概述
      • 全局/环境/临时变量
      • 环境与服务
      • Vault Secrets(密钥库)
        • 功能简介
    • 前后置操作&脚本
      • 概述
      • 断言
      • 提取变量
      • 等待时间
      • 数据库操作
        • 概述
        • MySQL
        • MongoDB
        • Redis
        • Oracle
      • 使用脚本
        • 概述
        • 前置脚本
        • 后置脚本
        • 公共脚本
        • pm 脚本 API
        • 使用 JS 类库
        • 响应数据可视化
        • 调用外部程序
      • 脚本示例
        • 断言示例
        • 脚本使用变量
        • 脚本读取/修改接口请求信息
      • 常见问题
        • 如何获取动态参数的真实值并加密?
        • 脚本运行后,提取的数字(bigint)精度丢失应该如何处理?
    • API 调试
      • GraphQL 调试
      • WebSocket 调试
      • Socket.IO 调试
      • SSE 调试
      • SOAP/WebService
      • gRPC 调试
      • 使用请求代理调试
      • Dubbo 调试
        • 新建 Dubbo 接口
        • 调试 Dubbo 接口
        • Dubbo 接口文档
      • TCP(Socket)
        • Socket 接口功能简介
        • 报文数据处理器
  • Mock 数据
    • 概述
    • 智能 Mock
    • 自定义 Mock
    • Mock 优先级
    • Mock 脚本
    • 云端 Mock
    • 自托管 Runner Mock
  • 自动化测试
    • 概述
    • 编排测试场景
      • 新建测试场景
      • 测试步骤间传递数据
      • 测试流程控制条件
      • 从接口/用例同步数据
      • 跨项目导入接口/用例
      • 导出测试场景数据
    • 运行测试场景
      • 运行测试场景
      • 批量运行测试场景
      • 数据驱动测试
      • 定时任务
      • 管理其它项目接口的运行环境
    • 测试报告
      • 测试报告
    • API 测试
      • 集成测试
      • 性能测试
      • 端到端测试
      • 回归测试
    • Apifox CLI
      • 概述
      • 安装和运行 CLI
      • CLI 命令选项
    • CI/CD
      • 概述
      • 与 Jenkins 集成
      • 与 Gitlab 集成
      • 与 Github Actions 集成
      • 与其它更多 CI/CD 平台集成
  • 发布 API 文档
    • 概述
    • 快捷分享
    • 查看 API 文档
    • 发布文档站
    • 页面布局设置
    • 自定义域名
    • AI 相关特性
    • SEO 设置
    • 高级设置
      • 文档站搜索设置
      • 跨域代理
      • 文档站接入 Google Analytics
      • 文档左侧目录设置
      • 文档可见性设置
      • 在线 URL 链接规范
    • API 版本
      • 创建 API 版本
      • 发布 API 版本
      • 快捷分享 API 版本
      • 功能简介
  • 迭代分支
    • 功能简介
    • 新建迭代分支
    • 在迭代分支中改动 API
    • 在迭代分支中测试 API
    • 合并迭代分支
    • 管理迭代分支
  • 管理中心
    • 入驻清单
      • 了解基本概念
      • 团队入驻
    • 管理团队
      • 团队基本操作
      • 团队成员管理
      • 成员角色与权限设置
      • 团队资源
        • 通用 Runner
        • 请求代理 Agent
        • 团队变量
      • 实时协作
        • 团队协作
    • 管理项目
      • 项目基本操作
      • 项目成员管理
      • 通知设置
        • 功能简介
        • 通知对象
        • 通知事件
      • 项目资源
        • 数据库连接
    • 管理组织
      • 单点登录(SSO)
        • 功能简介
        • 为组织配置单点登录
        • 管理用户账号
        • 将组映射到团队
        • Microsoft Entra ID
      • SCIM 用户管理
        • 功能简介
        • Microsoft Entra ID
      • 组织资源
        • 自托管 Runner
  • IDEA 插件
    • 快速上手
    • 生成接口文档
    • 生成数据模型
    • 配置
      • 全局配置
      • 项目内配置
      • 可配置规则
      • 脚本工具
      • Groovy 本地扩展
    • 进阶配置
      • 注释规范说明
      • 框架支持
    • 常见问题
      • 常见问题
  • 浏览器扩展
    • Chrome
    • Microsoft Edge
  • Apifox MCP Server
    • 概述
    • 通过 MCP 使用 Apifox 项目内的 API 文档
    • 通过 MCP 使用公开发布的 API 文档
    • 通过 MCP 使用 OpenAPI/Swagger文档
  • 最佳实践
    • 概述
    • 接口之间如何传递数据
    • 登录态(Auth)如何处理
    • 接口签名如何处理
    • 如何加密/解密接口数据
    • Jenkins 定时触发任务
    • 如何计算 AI 问答成本
    • 与其他成员共用数据库连接配置
    • 通过 CLI 运行包含云端数据库连接配置的测试场景
    • 通过 Runner 运行包含云端数据库连接配置的测试场景
    • Apifox 测试步骤之间怎么传递数据?
  • 账号&应用设置
    • 账号设置
    • API 访问令牌
    • 语言设置
    • 快捷键
    • 网络代理
    • 数据备份与恢复
    • 更新 Apifox
    • 实验性功能
  • 身份验证 & Auth 鉴权指南
    • 什么是 API Key
    • 什么是 Bearer Token
    • 什么是 JWT
    • 什么是 Basic Auth
    • 什么是 Digest Auth
    • 什么是 OAuth 1.0
    • 什么是 OAuth 2.0
      • 什么是 OAuth 2.0
      • 授权码授权类型
      • 授权码授权类型,带有 PKCE
      • 隐式授权类型
      • 密码凭证授权类型
      • 客户端凭证授权类型
  • 服务与隐私协议
    • 服务协议
    • 隐私协议
    • 服务等级协议
  • 参考资料
    • API 设计优先理念
    • JSON Schema 介绍
    • JSONPath 介绍
    • XPath 介绍
    • Apifox Markdown 语法
    • CSV 格式规范
    • 正则表达式
    • 安装 Java 环境
    • Runner 运行环境
    • 常见编程语言对应的数据类型
    • Socket 粘包和分包问题
    • 词汇表
    • 目录链接汇总
    • Apifox Swagger 扩展
      • 概述
      • x-apifox-folder
      • x-apifox-status
      • x-apifox-name
      • x-apifox-maintainer
    • Apifox JSON Schema 扩展
      • 概述
      • x-apifox-mock
      • x-apifox-orders
      • x-apifox-enum
    • 动态值表达式
  • 常见问题
  1. 开发和调试 API

生成代码

根据 API 定义 (API specification),Apifox 支持自动生成多种语言和框架的业务代码,包括但不限于 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 以及其他 130 种语言和框架。
Apifox 提供三种代码生成类型:生成业务代码、生成接口请求代码和生成数据模型代码。
生成业务代码:面向 API 开发者,生成用于实现 API 功能的服务器端代码。业务代码专注于 API 的服务端实现,与用于与 API 交互的接口请求代码不同。
生成接口请求代码:为 API 使用者生成客户端代码,用于在不同编程语言中实现与服务端 API 的交互。
生成数据模型代码:用于定义数据结构,适用于 API 数据的序列化(发送数据时)与反序列化(接收数据时)处理。

生成业务代码#

如何生成#

1. 安装代码生成插件
在接口文档中点击 生成代码,选择 生成业务代码。
image.png
如果没有安装代码生成插件,需要在业务代码生成页面,点击 下载并安装 按钮。
2. 生成代码
选择所需的业务代码,然后点击 生成代码。
image.png
3. 使用自定义模板
你还可以使用自定义模板功能生成符合团队架构规范的代码,以满足各种个性化需求。
image.png

支持的语言/框架#

语言服务端/客户端框架
Java服务端Spring、Inflector、Msf4j、Pkmst、Play Framework、Undertow Server、Vertx、Vertx Web、JAX-RS Cxf、JAX-RS Cxf Cdi、JAX-RS Cxf Extended、JAX-RS Jersey、JAX-RS Resteasy、JAX-RS Resteasy Eap、JAX-RS Spec
Java客户端Android、Java
PHP服务端Laravel、Lumen、Symfony、Ze Ph、Slim4、Slim(已弃用)、Silex(已弃用)
PHP客户端PHP
Swift客户端Swift5、Swift4、Swift3(已弃用)、Swift2(已弃用)
Kotlin服务端Kotlin Server、Kotlin Spring、Kotlin Vertx
Kotlin客户端Kotlin
JavaScript客户端Apollo、Flowtyped、Closure Angular
Node.js服务端Express、GraphQL Express
TypeScript客户端Axios、Fetch、Redux Query、Angular、Angularjs、Jquery、Rxjs、Node、Aurelia、Inversify
C++服务端Pistache Server、Qt5 Qhttpengine Server、Restbed Server
C++客户端Qt5 Client、Restsdk、Tizen
C#服务端C# Nancyfx
C#客户端C#、C# Netcore、C# Dotnet2
ASP.NET服务端ASP.NET Core
Dart客户端Dart、Dart Dio、Dart Jaguar
Go服务端Go Server、Go Gin Server
Go客户端Go、Go(实验性)
C客户端C
Objective-C客户端Objective-C
Scala服务端Scala Akka Http Server、Scala Finch、Scala Lagom Server、Scala Play Server
Scala客户端Scala Akka、Scala Gatling、Scala Sttp、Scalaz、Scala Httpclient(已弃用)
Clojure客户端Clojure
Groovy客户端Groovy
Python服务端Python Aiohttp、Python Blueplanet、Python Flask
Python客户端Python、Python(实验性)
Rust服务端Rust Server
Rust客户端Rust
Ruby服务端Ruby On Rails、Ruby Sinatra
Ruby客户端Ruby
R客户端R
Perl客户端Perl
PowerShell客户端PowerShell
JMeter客户端JMeter
Bash客户端Bash
Lua客户端Lua
F#服务端F# Functions、F# Giraffe Server
OCaml客户端OCaml
Erlang服务端Erlang Server
Erlang客户端Erlang Client、Erlang Proper
Flash客户端Flash
Elixir客户端Elixir
Haskell服务端Haskell
Haskell客户端Haskell Http Client
Elm客户端Elm
Nim客户端Nim
Ada服务端Ada Server
Ada客户端Ada
Apex客户端Apex
Eiffel客户端Eiffel
Apifox 的代码模板功能基于 OpenAPI Generator,但经过简化。

生成接口请求代码#

接口请求代码用于在各种开发环境中发起 API 请求。点击 API 文档中的 生成接口请求代码 按钮。
image.png
你也可以通过在 API 的运行标签中点击代码图标 </> 来生成代码。
image.png
注意:通过上述方法生成的接口请求代码将仅包含 API 定义,不包含请求参数值。如果你想生成包含请求参数值的接口请求代码,需先发送请求,然后切换到返回响应面板的 实际请求 标签。向下滚动查找包含参数值的接口请求代码。
image.png

支持的语言#

语言框架/库
ShellcURL、cURL-Windows、Httpie、wget、PowerShell
JavaScriptFetch、Axios、jQuery、XHR、Native、Request、Unirest
JavaUnirest、OkHttp
SwiftURLSession
GoNative
PHPcURL、Guzzle、pecl_http、HTTP_Request2
Pythonhttp.client、Requests
HTTPHTTP
Clibcurl
C#RestSharp
Objective-CNSURLSession
RubyNet::HTTP
OCamlCohttp
Darthttp
Rhttr、RCurl

生成数据模型代码#

数据模型代码用于定义数据结构,常用于 API 发送数据时的序列化和接收数据时的反序列化处理。在生成 SQL 代码类型后,你还可以在数据库表创建场景中定义建表语句,以便在数据库中创建数据表。
要访问数据模型,可以在数据结构编辑组件中点击 生成代码 按钮。
image.png
之后,你可以选择生成代码所需的编程语言,并配置特定的代码风格偏好。
image.png

支持的语言#

C#
C++
Crystal
Dart
Elm
Flow
Go
Haskell
Java
JavaScript
Kotlin
Objective-C
Pike
Python
Ruby
Rust
SQL
Swift
TypeScript

在线 API 文档生成代码#

在 Apifox 生成的在线 API 文档中,你可以轻松生成 接口请求代码 和 数据模型代码。
CleanShot 2024-11-22 at 15.29.40@2x.png
上一页
文档模式/调试模式
下一页
概述
Built with