功能强大的国产Api管理工具

article/2025/10/2 15:10:35

前言

如果你是一名Java后端开发工程师,像Swagger、Postman、RAP这些工具,应该再熟悉不过了吧!为我们的接口开发工作带来了很多的便捷,不过因为这些都是独立的框架,之间并不存在互通性,因此在多个框架间协调的时候,不可避免的会带来一些重复性的工作;

今天来介绍一款强大的国产工具:Apifox,将Swagger 、 Postman 、 RAP 、 JMeter 的功能完美的做了整合,一款工具,全部搞定。

什么是Apifox

Apifox = 接口调试+接口文档快速生成+接口文档规范化管理+Mock API+接口流程测试。

常见的接口管理方案:
API文档 :Swagger

调试 API:Postman

Mock API 数据 :RAP

API 自动化测试 :JMeter

Apifox产生的初衷是为了提高研发团队各个角色的效率!产品的使用受众为由前端开发、后端开发和测试人员以及技术经理组成的整个研发技术团队。

Apifox通过协作功能将研发团队的每个角色整合打通。

功能

  • 接口设计: Apifox 接口文档遵循 OpenApi 3.0 (原 Swagger)、JSON Schema 规范的同时,提供了非常好用的可视化文档管理功能,零学习成本,非常高效。并且支持在线分享接口文档。
  • 数据模型: 可复用的数据结构,定义接口返回数据结构及请求参数数据结构(仅 JSON 和 XML
    模式)时可直接引用。支持模型直接嵌套引用,直接 JSON/XML 智能导入,支持 oneOf、allOf 等高级组合模式。
  • 接口调试: Postman 有的功能,比如环境变量、前置/后置脚本、Cookie/Session 全局共享 等功能,Apifox都有,并且比 Postman更高效好用。接口运行完之后点击保存为用例按钮,即可生成接口用例,后续可直接运行接口用例,无需再输入参数,非常方便。自定义脚本 100%兼容 Postman 语法,并且支持运行javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等各种语言代码。
  • 接口用例: 通常一个接口会有多种情况用例,比如参数正确用例、参数错误用例、数据为空用例、不同数据状态用例等等。运行接口用例时会自动校验数据正确性,用接口用例来调试接口非常高效。
  • 接口数据 Mock: 内置 Mock.js 规则引擎,非常方便 mock 出各种数据,并且可以在定义数据结构的同时写好 mock规则。支持添加“期望”,根据请求参数返回不同 mock 数据。最重要的是 Apifox 零配置 即可 Mock出非常人性化的数据,具体在本文后面介绍。
  • 数据库操作: 支持读取数据库数据,作为接口请求参数使用。支持读取数据库数据,用来校验(断言)接口请求是否成功。
  • 接口自动化测试: 提供接口集合测试,可以通过选择接口(或接口用例)快速创建测试集。目前接口自动化测试更多功能还在开发中,敬请期待!目标是:JMeter有的功能基本都会有,并且要更好用。
  • 快捷调试: 类似 Postman 的接口调试方式,主要用途为临时调试一些无需文档化的接口,无需提前定义接口即可快速调试。
  • 代码生成: 根据接口及数据数据模型定义,系统自动生成接口请求代码、前端业务代码及后端业务代码。
  • 团队协作: Apifox 天生就是为团队协作而生的,接口云端实时同步更新,成熟的团队/项目/成员权限管理,满足各类企业的需求。

使用

API接口使用

发送HTTP请求

API界面功能布局

在这里插入图片描述

API请求参数

Header和cookie参数
你可以设置或者导入 Header 参数,cookie也可以进行设置
在这里插入图片描述
Query 参数
Query 支持构造URL参数,同时支持 RESTful 的 PATH 参数(如:id)
在这里插入图片描述
Body 参数
Body 提供三种类型 form-data / x-www-form-urlencoded / raw ,每种类型提供三种不同的UI界面

  • 当你需要提交表单时,切换到 x-www-form-urlencoded

在这里插入图片描述

  • 当你需要提交有文件的表单时,切换到 form-data
    在这里插入图片描述
  • 当您需要发送JSON对象或者其他对象时,切换到对应的raw类型即可
    在这里插入图片描述

API 请求响应

点击发送按钮后,如果有数据返回,则会显示返回数据,响应时间,响应码,Cookie等。
在这里插入图片描述
注意:返回数据默认是Pretty模式,便于查看 JSON XML 格式。您可以通过切换 原生 或 预览 模式 查看其它类型的类型。

返回Headers

在这里插入图片描述

设置全局参数

这里要提醒一下,这个全局参数的设置我也是找了好久才发现。藏得有点深,主要是功能太多了哈哈。

在这里插入图片描述
这里还可以设置测试环境、全局环境、全局变量、本地mock、云端mock等,功能齐全十分强大。

一键生成文档

生成文档

新建接口
在这里插入图片描述
设置接口信息
在这里插入图片描述
在这里插入图片描述
设置好直接保存
在这里插入图片描述

接口文档一体化

这里修改接口就直接修改了文档,十分方便。修改文档和接口能实时同步更新到调用这个开放API的所有开发者,避免了项目接口升级或迭代需要很多的沟通和告知工作。
在这里插入图片描述

文档导出

在这里插入图片描述

导入postman\swagger文档

在接口管理处可以添加导入文档
在这里插入图片描述

支持导入 OpenApi (Swagger)、Postman、apiDoc、HAR、RAML、RAP2、YApi、Eolinker、NEI、DOClever、ApiPost 、Apizza 、ShowDoc、API Blueprint、I/O Docs、WADL、Google Discovery等数据格式,方便旧项目迁移。

支持定时自动导入OpenApi (Swagger)、apiDoc、Apifox格式数据。
在这里插入图片描述

在线分享文档

可以将自己编写好的接口分享给其他成员,也可以设置好我们的访问密码、过期时间等点击项目概览=》新建分享
在这里插入图片描述
在这里插入图片描述

Mock

大部分企业的产品都采用的敏捷开发,为了能保证多端同步开展,当方案一旦确定,就需要通过Mock生成API的数据规则;这样多端就可以根据文档规则进行开发,不会因为团队见彼此的进度而互相干扰、互相影响。

编写Mock 规则

在这里插入图片描述
在APIfox中,Mock 规则模板支持类型丰富
基本数据(固定json结构)

{"code": "0","data": {"name": "张三丰","age": 100},"desc": "成功"
}

基本数据(Mock随机json结构)

{"code": "0","data": {"list|20": [{"name": "@name","age": "@integer(2)"}],"url": "https://localhost/create"},"desc": "成功"
}

RESTFUL逻辑数据
某些场景中,我们可能需要根据接口的入参规则,加入适当的逻辑处理后再返回数据。一个简单的场景就是登录场景,需要根据用户名密码,判断是否登录成功。再或者,我们需要根据产品ID动态返回产品信息,等等。

现在,Apifox 的Mock 服务提供了这种场景的解决方案。
以下示例中,我们用到了 _req.body对象,其含义是:

当 post 请求以 x-www-form-urlencoded 或者application/json 方式提交时,我们可以拿到请求的参数对象。

{  "code": "0000",  "data": {    "verifySuccess": function() {      let body = _req.body;      return body.username === 'admin' && body.password === '123456';    },    "userInfo": function() {      let body = _req.body;      if (body.username === 'admin' && body.password === '123456') {        return Mock.mock({          username: "admin",          email: "@email",          address: "@address"        });      } else {        return null;      }    },  },  "desc": "成功"}

获取Mock地址

  • 切换到Mock环境进行测试

直接点击快捷请求就可以
在这里插入图片描述

自动化测试

流程测试是针对一个接口集合的测试,选择相应的环境,可以作为一系列请求一起运行。
当您想要自动化API测试时,流程测试非常有用。

创建一个测试流程

步骤:

  • 新建接口,并添加断言
  • 打开流程测试,新建一个流程
  • 向流程添加测试接口
  • 选择环境,点击开始测试
  • 查看返回的测试接口

在这里插入图片描述

总结

至此,Apifox常用的核心功能已经介绍完了,但Apifox的强大并不限于此,在团队管理、协同管理、项目管理的多个方面都表现的很优秀,如果你还没有用过,建议尝试一下,相信用过之后,一定会爱上!

下载

官网地址:www.apifox.cn


http://chatgpt.dhexx.cn/article/WvlvDlkg.shtml

相关文章

只用 6 分钟,让你弄明白什么是 API 及 API 管理

什么是 API API(Application Programming Interface),指应用程序编程接口。 两个单独的应用程序需要中介程序才能相互通信。因此,开发人员经常需要搭建桥梁——也就是API,来允许一个系统访问另一个系统的信息或功能。A…

一文教你弄明白什么是 API 以及 API 管理

什么是 API API(Application Programming Interface),指应用程序编程接口。 两个单独的应用程序需要中介程序才能相互通信。因此,开发人员经常需要搭建桥梁——也就是API,来允许一个系统访问另一个系统的信息或功能。A…

【API 管理】什么是 API 管理,为什么它很重要?

当今复杂的数字生态系统由许多相互关联的部分组成。API 作为看门人和连接器在其中发挥着关键作用——提供了许多最终用户甚至没有注意到的自动化机会和效率。 企业密切关注 API。它们对于应用程序、数据和各种客户交互的功能至关重要。 这使得 API 管理成为几乎每个部门的组织的…

API与API管理

什么是API API全称为应用程序编程接口,通俗来讲就是不需要访问程序的源代码,也不需要理解程序实现的方式,只需要通过访问相应接口的URL并填写需要获得的数据的参数名,来获取需要的参数信息。 一个接口可以是一个简单的应用程序&a…

API管理-架构-1-概要设计

API管理-架构-概要设计 前言API 为中心的架构REST API UnlessStreaming API 微服务与APIAPI分类API分层 API平台API安全一些必要点 Reference 前言 为了在企业中能够更好的支持Cloud, Mobile, Big Data,成功的关键在于能够 安全的, 可靠的,一…

Webssh、浏览器使用ssh连接服务器

python版本 python >2.7 效果图: 代码传送门: https://github.com/NiuXiangQian/webssh

webshell及工具

目录 一,Webshell的概念 二,eval函数的定义和用法 三,连接工具菜刀 3.1文件管理 3.2 虚拟终端 3.3 菜刀与burpsuite联动 四,哥斯拉的使用 五,冰蝎 六,webshell分类 七,webshell如何连接 …

web ssh

前言: 好久都没来写博客,最近忙啥去了呢? 一是忙于saltstack的二次开发,二是云计算的学习研究中,所以就一直没写东西,今天给大家介绍个工具。 好了,开始正文! 1.首先来说一下为什么要…

Docker 配置WebSSH

1、基于DockerHub Centos镜像 docker pull centos:centos7 2、 Centos镜像存在的一个自身问题:启动后的容器内部无法使用systemctl命令 Failed to get D-Bus connection: Operation not permitted ## docker run -dit eeb6ee3f44bd /bin/bash ## 切勿忘记宿主机防…

什么是Webshell?

一、什么是Webshell? 顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限。webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限。由于webshell其大多是以动态脚本的…

Flask框架:运用SocketIO实现WebSSH

Flask 框架中如果想要实现WebSocket功能有许多种方式,运用SocketIO库来实现无疑是最简单的一种方式,Flask中封装了一个flask_socketio库该库可以直接通过pip仓库安装,如下内容将重点简述SocketIO库在Flask框架中是如何被应用的,最…

网页终端直接操作linux系统【webssh】

1、安装pip linux系统默认都安装了python,但不一定安装了pip,所以先安装pip 我的系统中默认安装的是python2.7版本 curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py python get-pip.py 安装成功如图 2、安装webssh pip install w…

离线 安装webssh

1 安装包 和 webssh 代码准备 1 cmake 安装 安装参考文档: 文档地址 下载地址 $ tar xvfz cmake-3.24.2-linux-x86_64.tar.gz 配置环境全局变量 $ vim /etc/profile ​ # 添加 export PATH/root/webterminal/cmake-3.18.0-Linux-x86_64/bin:$PATH ​ $ source /etc/profil…

webshell是什么?

webshell是什么? 百度百科的定义:webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种代码执行环境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文…

Docker 容器内体验 WebSSH

Docker容器内体验 WebSSH 项目地址: https://pypi.org/project/webssh/ 容器创建 docker run -tid --name centos -p 8888:8888 -p 122:22 centos:7 /bin/bash # 启动容器写个比较呆的shell脚本&#xff0c;方便安装 cat <<EOF > wssh.sh yum -y install epel-re…

golang实现WebSSH的功能

在最近一次需求里&#xff0c;需要实现一个webSSH的功能&#xff0c;就是把terminal搬到web中来。要实现这个功能&#xff0c;可以采用websocketssh来说实现 1.第一步实现websocket websocket主要是ws或wss协议&#xff0c;其原理就是http协议升级成ws协议&#xff0c;即ws是…

纯Java实现一个网页版的Xshell

前言 最近由于项目需求&#xff0c;项目中需要实现一个WebSSH连接终端的功能&#xff0c;由于自己第一次做这类型功能&#xff0c;所以首先上了GitHub找了找有没有现成的轮子可以拿来直接用&#xff0c;当时看到了很多这方面的项目&#xff0c;例如&#xff1a;GateOne、webss…

webssh

vue djangolinux实现webssh 技术栈 xterm.js&#xff1a;做到vue的表现型 websocket&#xff1a; 做vue和django之间的通信 paramiko&#xff1a; 建立SSH连接通道 ssh&#xff1a; 与linux进行连接 threading&#xff1a;多条数据返回前端&#xff0c;io密集型&#xff0c;用…

webSSH如何安装?如何使用?解决Web端远程连接终端~~运维篇

Hi~由于博主公司业务有相当多的Linux终端设备&#xff0c;每次连上设备需要使用到外部工具&#xff0c;如&#xff1a;Xshell&#xff0c;每次都得去输入IP&#xff0c;端口&#xff0c;账号&#xff0c;密码相当的繁琐&#xff1b;偶尔看到阿里云远程连接终端功能挺有意思的&a…

超强功能WebSSH安装,解决Web远程SSH终端

项目地址&#xff1a;https://github.com/huashengdun/webssh 一个简单的 Web 应用程序&#xff0c;用作 ssh 客户端以连接到您的 ssh 服务器。它是用 Python 编写的&#xff0c;基于 tornado、paramiko 和 xterm.js。 特征&#xff1a; 支持SSH密码认证&#xff0c;包括空密…