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

上一篇推文讲到用 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.mzph.cn/bicheng/26268.shtml

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

相关文章

详细介绍如何解决vcomp140.dll丢失的步骤,分享几种vcomp140.dll修复方法

当这个vcomp140.dll文件丢失时,可能会导致相关程序运行出错甚至无法运行。很多用户可能会遇到vcomp140.dll丢失的问题,但是这并不是不可解决的困难。接下来就和大家分享几种解决vcomp140.dll丢失的方法,给大家详细的关于如何解决vcomp140.dll…

MySQL-连接查询

049-内连接之等值连接 案例:查询每个员工所在的部门名称,要求显示员工名、部门名。 select e.ename, d.dname from emp e inner join dept d on e.deptnod.deptno;注意:inner可以省略 select e.ename, d.dname from emp e join dept d on…

你的医书是假的!批评《DDD诊所——聚合过大综合症》(合集)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 (《你的医书是假的!》原文写于2023年8月,以系列文章方式发表,现合并成一篇文章) 一、说在前面 这两天在“ Thoughtworks洞见…

mask2former利用不确定性采样点选择提高模型性能

在机器学习和深度学习的训练过程中,不确定性高的点通常代表模型在这些点上的预测不够可靠或有较高的误差。因此,关注这些不确定性高的点,通过计算这些点的损失并进行梯度更新,可以有效地提高模型的整体性能。确定性高的点预测结果…

【python】tkinter GUI开发: 多行文本Text,单选框Radiobutton,复选框Checkbutton,画布canvas的应用实战详解

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Vue3使用datav3报错问题解决

报错:Failed to resolve entry for package "dataview/datav-vue3". The package may have incorrect main/module/exports specified in its package.json. 修改package.json 修改为 "module": "./es/index.mjs",

细说MCU串口函数及使用printf函数实现串口发送数据的方法

目录 1、硬件及工程 2、串口相关的库函数 (1)串口中断服务函数: (2)串口接收回调函数: (3)串口接收中断配置函数: (4)非中断发送&#xff…

飞速(FS)InfiniBand解决方案构建HPC网络

面对HPC领域的不断发展,未来HPC业务核心在于HPC网络和基础设施。随着高性能计算应用的复杂性和数据量的增长,对弹性、可扩展和高效网络的需求变得日益迫切。HPC网络架构作为HPC系统运行的基础,在数据处理、管理和大规模存储方面至关重要。本文…

什么是 URL 过滤?是如何保障浏览体验的?

互联网是一个无边无际的空间,几乎包含了你能想象到的一切。不幸的是,这意味着也存在着从不合适到非常危险的网站。这就是 URL 过滤可以发挥作用的地方。 一、URL 过滤的含义 我们希望您已经熟悉 URL(统一资源定位器),…

Linux命令详解(2)

文本处理是Linux命令行的重要应用之一。通过一系列强大的命令,用户可以轻松地对文本文件进行编辑、查询和转换。 cat: 这个命令用于查看文件内容。它可以一次性显示整个文件,或者分页显示。此外,cat 还可以用于合并多个文件的内容…

使用winscp 通过中转机器(跳板机、堡垒机)密钥远程连接服务器,保姆级别教程

1.winscp下载地址 winscp下载 2.安装自己选择位置 3.连接服务器 到这里,基本就是没有壁垒机的就可直接连接,传递文件 4.配置中转服务器(壁垒机、跳板机) 选择高级选项 配置utf-8的编码格式 配置中转服务器(壁垒机、跳板机) 设置中专机的密码或者私钥 配置私钥

Day 16:3040. 相同分数的最大操作数目II

Leetcode 相同分数的最大操作数目II 给你一个整数数组 nums ,如果 nums 至少 包含 2 个元素,你可以执行以下操作中的 任意 一个: 选择 nums 中最前面两个元素并且删除它们。选择 nums 中最后两个元素并且删除它们。选择 nums 中第一个和最后一…

Adobe Photoshop cc快速抠图与精致抠图方法

一、背景 Photoshop cc绝对是最好用的抠图and修图软件,但是即使最简单的抠图,每次用时都忘记怎么做,然后再去B站搜,非常费时,下面记录一下抠图过程,方便查阅。 一、Adobe Photoshop快速抠图 选择——主体…

大模型基础——从零实现一个Transformer(3)

大模型基础——从零实现一个Transformer(1)-CSDN博客 大模型基础——从零实现一个Transformer(2)-CSDN博客 一、前言 之前两篇文章已经讲了Transformer的Embedding,Tokenizer,Attention,Position Encoding, 本文我们继续了解Transformer中剩下的其他组件. 二、归一化 2.1 L…

C++--DAY7

vector容器 #include <iostream> #include <vector>using namespace std; void printVector(vector<int> &v) {//定义一个迭代器 指针vector<int>::iterator iter;//v.end&#xff08;&#xff09;是最后一个元素的下一个元素地址for(iterv.begin…

申请郑州水污染防治乙级资质,这些材料你需要提前准备

申请郑州水污染防治乙级资质时&#xff0c;你需要提前准备以下材料&#xff0c;以确保申请流程的顺利进行&#xff1a; 一、企业基本材料 企业法人营业执照副本复印件&#xff1a;需加盖企业公章&#xff0c;确保复印件清晰、完整。企业章程文本&#xff1a;提供企业章程的完整…

网络安全在2024好入行吗?

前言 024年的今天&#xff0c;慎重进入网安行业吧&#xff0c;目前来说信息安全方向的就业对于学历的容忍度比软件开发要大得多&#xff0c;还有很多高中被挖过来的大佬。 理由很简单&#xff0c;目前来说&#xff0c;信息安全的圈子人少&#xff0c;985、211院校很多都才建立…

Java课程设计:基于ssm的旅游管理系统系统(内附源码)

文章目录 一、项目介绍二、项目展示三、源码展示四、源码获取 一、项目介绍 2023年处于信息科技高速发展的大背景之下。在今天&#xff0c;缺少手机和电脑几乎已经成为不可能的事情&#xff0c;人们生活中已经难以离开手机和电脑。针对增加的成本管理和操作,各大旅行社非常必要…

鸿蒙开发文件管理:【@ohos.securityLabel (数据标签)】

数据标签 该模块提供文件数据安全等级的相关功能&#xff1a;向应用程序提供查询、设置文件数据安全等级的JS接口。 说明&#xff1a; 本模块首批接口从API version 9开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import security…

iOS ReactiveCocoa MVVM

学习了在MVVM中如何使用RactiveCocoa&#xff0c;简单的写上一个demo。重点在于如何在MVVM各层之间使用RAC的信号来更方便的在各个层之间进行响应式数据交互。 demo需求&#xff1a;一个登录界面(登录界面只有账号和密码都有输入&#xff0c;登录按钮才可以点击操作)&#xff0…