如何将 API 管理从 Postman 转移到 Apifox

news2024/11/16 11:53:40

上一篇推文讲到用 Swagger 管理的 API 怎么迁移到 Apifox,有许多同学反馈说能不能介绍一下 Postman 的迁移以及迁移过程中需要注意的事项。那么今天,它来了!

从 Postman 迁移到 Apifox 的方法有两种:

  1. 导出 Postman 集合 (Collection) 文件再导入到 Apifox
  2. 通过开放 API 导入

下面详细介绍具体操作。

一、导出 Postman 集合文件后导入

要把 API 手动从 Postman 迁移到 Apifox,需要在 Postman 中先将集合 (Collection) 导出为 JSON 文件,然后再将 JSON 格式的文件导入到 Apfox。具体操作如下:

1、导出 Postman 集合文件

在 Postman 中打开一个项目,在项目的左侧栏中,找到你想要迁移的集合 (Collection) ,点击集合右侧的三个小点图标,选择「Export」。

图片

在弹出的对话框中,选择「Collection v2.1」格式,点击「Export」按钮,选择保存路径并保存为 JSON 文件。

图片

接下来,我们需要将导出的 JSON 文件导入到 Apifox 中。

2、导入到 Apifox

在 Apifox 中打开一个项目,在左侧边栏依次选择「项目设置 -> 导入数据 -> Postman」,在这里,上传之前导出的 JSON 文件。

图片

上传文件后,Apifox 会自动解析并导入,你可以在弹出的预览框中进行进一步的筛选和管理。

图片

导入成功后可以在项目中查看对应的接口,如果在 Postman 的集合或接口中写有 Scripts 脚本,也会一并进行迁移。Apifox 完全兼容 Postman 的脚本语法,所以脚本不需要做其它任何的更改,在进行接口调试时可以直接运行。

图片

在 Postman 中往往会使用一个变量 (例如{{baseUrl}}) 来指定前置 URL(例如 http://127.0.0.1:8080  ,迁移到 Apifox 时,它会自动转换为 Apifox 「环境管理」中的「服务」。

图片

Postman 中的变量有三种类型,分别是集合变量、环境变量和全局变量。其中,Postman 的集合变量会被自动迁移到 Apifox 的全局变量里。

图片

但是,Postman 中的全局变量和环境变量不会包含在导出的 JSON 文件中。因此,这些变量需要单独导出为 JSON 文件,然后再迁移到 Apifox。

要导出 Postman 的全局变量,依次选择「Environments -> Globals -> Export」,然后导出为 JSON 文件即可。

图片

要导出 Postman 的环境变量,只需在 Environments 中,点击环境名称右侧的三个小点图标,然后选择「Export」即可。

图片

全局/环境变量的 JSON 文件导出之后,就可以导入到 Apifox 中,在项目的左侧边栏依次选择「项目设置 -> 导入数据 -> Postman」,然后上传已导出的全局/环境变量文件,确定导入即可。

图片

导入完成后,你可在 Apifox 的环境管理中查看导入的变量。注意,导入的只是变量,「前置 URL」还需要手动在这里添加。

图片

并且,如果设置有多个「前置 URL」,还需要在「接口」或者「目录」层级中确认是否是该接口所需的。

图片

二、通过开放 API 导入

除了手动导入文件,Apifox 还提供了一个开放 API 接口,可以直接通过 API 导入 Postman Collection v2 格式的数据,开放 API 文档地址:

介绍 👋 - Apifox 开放 API

图片

具体导入的操作步骤如下:

1、获取 API 访问令牌

在 Apifox 中,点击页面右上角的个人头像,选择「账号设置 -> API 访问令牌」选项,在这里生成一个 API 访问令牌 (access_token) ,该令牌用于身份验证,可根据需要设定令牌有效期。

图片

2、获取项目 ID

在 Apifox 中,选择「项目设置 -> 基本设置」即可查看项目 ID。项目 ID 是每个项目的唯一标识符,在调用 API 时需要用到它,以确保数据导入到正确的项目中。

图片

3、调用开放 API

要将 Postman Collection v2 格式的数据导入到 Apifox 中,可以调用以下接口:

POST https://api.apifox.com/v1/projects/{projectId}/import-postman-collection

通过调用上述接口,可以将数据导入指定项目。下面是相关必需参数的说明:

Path 参数

参数名称参数类型是否必需描述
projectIdString必需项目 ID,用于指定要导入数据的目标项目。

示例:

https://api.apifox.com/v1/projects/3760990/import-postman-collection

Body 参数

参数名称参数类型是否必需描述
inputString必需要导入的字符串化后的 JSON 对象。

请求 Body 示例:

{
  "input": "{"info":{"name":"Sample Collection","_postman_id":"12345-67890-abcdef-ghijk","description":"This is a sample Postman Collection","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json"},"item":[{"name":"Sample GET Request","request":{"method":"GET","header":[],"url":{"raw":"https://jsonplaceholder.typicode.com/posts","protocol":"https","host":["jsonplaceholder","typicode","com"],"path":["posts"]}},"response":[]}]",
  "options": {
    "targetEndpointFolderId": 0,
    "endpointOverwriteBehavior": "OVERWRITE_EXISTING",
    "endpointCaseOverwriteBehavior": "OVERWRITE_EXISTING",
    "updateFolderOfChangedEndpoint": false
  }
}

Header 参数

除了上述必要的入参,还需要在请求头中携带相关的认证信息,如下:

参数名称参数类型是否必需描述
X-Apifox-Api-VersionString必需开放 API 版本号,目前支持的版本为 2024-03-28。
AuthorizationObject必需身份认证,格式为 Bearer 个人访问令牌,也就是上述第 1 步获取到的 API 访问令牌。

示例:

'X-Apifox-Api-Version':'2024-03-28'
'Authorization':'Bearer APS-OVWel6j5103zaaaaaaQle99fGNBw8ucH'

4、返回响应示例

接口调用成功后,将返回一个类似如下示例的 JSON 响应,包含导入过程中的统计信息,如新增、更新和忽略的接口数量等。如果返回错误信息,需要仔细检查入参是否漏了哪些必填的参数,或者检查导入的数据格式是否正确。

{
  "data": {
    "counters": {
      "endpointCreated": 10,
      "endpointUpdated": 0,
      "endpointFailed": 0,
      "endpointIgnored": 0,
      "endpointFolderCreated": 0,
      "endpointFolderUpdated": 0,
      "endpointFolderFailed": 0,
      "endpointFolderIgnored": 0,
      "endpointCaseCreated": 0,
      "endpointCaseUpdated": 0,
      "endpointCaseFailed": 0,
      "endpointCaseIgnored": 0
    }
  }
}

5、查看导入结果

导入完成后,可以在 Apifox 对应的项目中查看导入的 API 文档。要了解其它更多详细的入参、响应信息,请参考 Apifox 的开放 API 文档。

常见问题

Postman 中的 Pre-request 脚本,在 Apifox 的哪里?

Pre-request 相当于 Apifox 的「前置操作」,Post-response 相当于 Apifox 的「后置操作」,迁移完成后,你可在对应接口或目录的「前/后置操作」中查看脚本。

图片

Postman 中接口的前置 URL 变量,到哪里去了

在 Postman 中,接口使用变量 (例如{{baseUrl}}) 来存放前置 URL (例如 http://127.0.0.1:8080) 。而在 Apifox 中,前置 URL 独立存放于「环境管理」中的「服务」。在进行迁移时,{{baseUrl}} 会自动转换为 Apifox 中的「服务」。这么做是为了避免两者混淆,明确区分变量和前置 URL,更方便进行管理。

图片

在接口发送请求时,只需在页面右上角切换相应的环境,Apifox 就会自动拼接前置 URL。

图片

并且在微服务架构中,在环境里设置了多个前置 URL 时,还可以根据需要在「接口」或「目录」层级指定对应的服务(前置 URL),非常的方便。

图片

通过以上两种方法,可以顺利地将 API 项目从 Postman 迁移到 Apifox。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1818335.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

诺派克ROPEX控制器维修RES-5008 RES-5006

德国希尔科诺派克ROPEX热封控制器维修型号包括:RES-401,RES-402,RES-403,RES-406,RES-407,RES-408,RES-409,RES-420,RES-440,RES-5008,RES-5006&a…

eNSP学习——PPP的认证

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建OSPF网络 3、配置PPP的PAP认证 4、配置PPP的CHAP认证 主要命令 //设置本端的PPP协议对对端设备的认证方式为 PAP,认证采用的域名为huawei [R3]int s4/0/0 [R…

ToF原理记录

目录 1. ToF是什么?2. ToF深度测量原理2.1 脉冲调制法2.2 连续波调制法 1. ToF是什么? 飞行时间(Time-of-Flight,ToF)基本原理是通过连续发射光脉冲(一般为不可见光)到目标物体上,然…

BGP学习

BGP是一种矢量协议,使用TCP作为传输协议 ,目的端口号是179.是触发式更新,不是周期性更新 BGP的重点是策略路由的选路,能对路由进行路由汇总。运行BGP的路由器被称为BGP发言者,两个建立BGP会话的路由器互为对等体 IBGP和EBGP的区…

EasyExcel文件导出出现有文件但没有数据的问题

一开始由于JDK版本过高,我用的17,一直excel没有数据,表头也没有,后来摸索了好久,找了资料也没有,后来改了代码后报了一个错误(com.alibaba.excel.exception.ExcelGenerateException: java.lang.…

Redis高性能原理:Redis为什么这么快?

目录 前言: 一、Redis知识系统观 二、Redis为什么这么快? 三、Redis 唯快不破的原理总结 四、Redis6.x的多线程 前言: Redis 为了高性能,从各方各面都进行了优化。学习一门技术,通常只接触了零散的技术点&#xff…

pioneer电源维修PM33213BP-10P-1-6PH-H

开关电源出现不启振的时候,我们通常需要查看开关频率是否正确、保护电路是否断路、电压反馈电路、电流反馈电路又没问题,开关管是否击穿等。 电源维修实践中,有许多开关电源采用UC38系列8脚PWM组件,大多数电源不能工作都是因为电…

搜索二叉树的概念及实现

搜索二叉树的概念 搜索二叉树规则(左小右大): 非空左子树的键值小于其根节点的键值非空右子树的键值大于其根节点的键值左右子树均为搜索二叉树 如图: 在搜索时,若大于根,则去右子树寻找;若小…

基于单片机的多功能智能小车设计

第一章 绪论 1.1 课题背景和意义 随着计算机、微电子、信息技术的快速发展,智能化技术的发展速度越来越快,智能化与人们生活的联系也越来越紧密,智能化是未来社会发展的必然趋势。智能小车实际上就是一个可以自由移动的智能机器人,比较适合在人们无法工作的地方工作,也可…

基于WPF技术的换热站智能监控系统06--实现左侧故障统计

1、区域划分 2、ui实现 这里使用的是livechart的柱状图呈现的 3、运行效果 走过路过不要错过,点赞关注收藏又圈粉,共同致富,为财务自由作出贡献

【git使用二】gitee远程仓库创建与本地git命令用法

目录 gitee介绍 管理者注册gitee账号 管理者在gitee网站上创建远程仓库 每个开发者安装git与基本配置 1.git的下载和安装 2.配置SSH公钥 3.开发者信息配置 git命令用法 gitee介绍 Gitee(又称码云)是一个基于Git的代码托管服务,由开源…

python数据分析-量化分析

一、研究背景 随着经济的发展和金融市场的不断完善,股票投资成为了人们重要的投资方式之一。汽车行业作为国民经济的重要支柱产业,其上市公司的股票表现备受关注。Fama-French 三因子模型是一种广泛应用于股票市场的资产定价模型,它考虑了市场…

vue3中用setup写的数据,不能动态渲染(非响应式)解决办法

相比于2.0&#xff0c;vue3.0在新增了一个setup函数&#xff0c;我们在setup中可以写数据也可以写方法&#xff0c;就像我们以前最开始学习js一样&#xff0c;在js文件中写代码。 For instance <template><div class"person"><h2>姓名&#xff1…

中电联系列四:rocket手把手教你理解中电联协议!

分享《慧哥的充电桩开源SAAS系统&#xff0c;支持汽车充电桩、二轮自行车充电桩。》 电动汽车充换电服务信息交换 第4部分&#xff1a;数据传输与安全 Interactive of charging and battery swap service information for electric vehicle Part 4:Data transmission and secu…

平安科技智能运维案例

平安科技智能运维案例 在信息技术迅速发展的背景下&#xff0c;平安科技面临着运维规模庞大、内容复杂和交付要求高等挑战。通过探索智能运维&#xff0c;平安科技建立了集中配置管理、完善的运营管理体系和全生命周期运维平台&#xff0c;实施了全链路监控&#xff0c;显著提…

基于块生成最大剩余空间的三维装箱算法

问题简介 三维装箱问题&#xff08;3D Bin Packing Problem&#xff0c;3D BPP&#xff09;是一类组合优化问题。它涉及到将一定数量的三维物品放入一个或多个三维容器&#xff08;称为“箱子”&#xff09;中&#xff0c;同时遵循一定的约束&#xff0c;通常目标是最大化空间…

2024/06/13--代码随想录算法2/17| 62.不同路径、63. 不同路径 II、343. 整数拆分 (可跳过)、96.不同的二叉搜索树 (可跳过)

62.不同路径 力扣链接 动态规划5步曲 确定dp数组&#xff08;dp table&#xff09;以及下标的含义&#xff1a; dp[i][j] &#xff1a;表示从&#xff08;0 &#xff0c;0&#xff09;出发&#xff0c;到(i, j) 有dp[i][j]条不同的路径。确定递推公式&#xff0c;dp[i][j] d…

听说前端都是切图仔,所以学了PS

PS 从零开始-基础篇 什么话都不想说了&#xff0c;前端以死后端已死&#xff0c;毁灭即是新生&#xff0c;我要开始追梦了&#xff0c; 从小就希望&#xff0c;制作一款自己的游戏&#x1f3ae;去学了编程&#xff0c;了解了&#xff1a;Java、C#、前端... 不小心入了web领域…

分享一个开发者工具

网站地址&#xff1a;https://daxia.olalo.asia/计算器 IP地址查询 BMI体脂计算 AI ChatGPT GPT 黄历 图片缩放 图片裁剪 图片水印 图片拼接 json查看器 二维码识别 二维码生成 Base64编解码 时间戳 天气 取色器 拾色器https://daxia.olalo.asia/ 很干净的一个小网站&#xff0…