前后端分离开发:用 Apifox 高效管理 API
目录
1.前后台分离开发介绍
2.API
2.1 APIfox介绍
2.2 接口文档管理
1.前后台分离开发介绍
前端开发有2种方式:「前后台混合开发」和「前后台分离开发」。
前后台混合开发,顾名思义就是前台后台代码混在一起开发,如下图所示:

这种开发模式有如下缺点:
-
沟通成本高:后台人员发现前端有问题,需要找前端人员修改,前端修改成功,再交给后台人员使用
-
分工不明确:后台开发人员需要开发后台代码,也需要开发部分前端代码。很难培养专业人才
-
不便管理:所有的代码都在一个工程中
-
不便维护和扩展:前端代码更新,和后台无关,但是需要整个工程包括后台一起重新打包部署。
目前基本都是采用的前后台分离开发方式,如下图所示:

❝ 将原先的工程分为前端工程和后端工程这2个工程,前端工程交给专业的前端人员开发,后端工程交给专业的后端人员开发。前端页面需要数据,可以通过发送异步请求,从后端工程获取。 但是前后台是分开来开发的,那么前端人员怎么知道后台返回数据的格式呢?后端人员开发,怎么知道前端人员需要的数据格呢? 针对这个问题,前后台统一指定一套规范,这样前后台开发人员都需要遵循这套规范开发就是 「接口文档」。接口文档有离线版和在线版本,接口文档示可以查询今天提供 「资料/接口文档示例」里面的资料。 接口文档的内容由后台开发者根据产品经理提供的产品原型和需求文档所撰写出来的,产品原型示例可以参考今天提供 「资料/页面原型」里面的资料。❞
基于前后台分离开发的模式下,后台开发者开发一个功能的具体流程如何呢?如下图所示:

-
需求分析:首先我们需要阅读需求文档,分析需求,理解需求。
-
接口定义:查询接口文档中关于需求的接口的定义,包括地址,参数,响应数据类型等等
-
前后台并行开发:各自按照接口文档进行开发,实现需求
-
测试:前后台开发完了,各自按照接口文档进行测试
-
前后段联调测试:前段工程请求后端工程,测试功能
2.API
2.1 APIfox介绍
前后台分离开发中,我们前后台开发人员都需要遵循接口文档,所以接下来我们介绍一款撰写接口文档的平台。
APIfox是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。
其官网地址:https://apifox.com/
APIfox主要提供了2个功能:
-
API接口管理:根据需求撰写接口,包括接口的地址,参数,响应等等信息。
-
Mock服务:模拟真实接口,生成接口的模拟测试数据,用于前端的测试。
2.2 接口文档管理
接下来我们演示一下APIfox是如何管理接口文档的。
①首先我们登录APIfox的官网,可下载app或使用Web版,如下图所示

②登录进去后,在个人空间中,添加项目,效果如图所示:

新建项目名称:前端项目1

③在项目接口下新建一个目录:用户管理

④到接口的编辑界面 ,对接口做生层次的定制
例如:接口的请求参数参数,接口的返回值等等,效果图下图所示:

添加接口的返回值,如下图所示:

⑤可以设置接口的mock信息的期望值,如图所示:


⑥在接口的预览界面,直接点击Mock地址,如下图所示:

快捷请求后返回如下数据:

如上步骤就是APIfox接口平台中对于接口的配置步骤。
相关文章:
前后端分离开发:用 Apifox 高效管理 API
目录 1.前后台分离开发介绍 2.API 2.1 APIfox介绍 2.2 接口文档管理 1.前后台分离开发介绍 前端开发有2种方式:「前后台混合开发」和「前后台分离开发」。 前后台混合开发,顾名思义就是前台后台代码混在一起开发,如下图所示:…...
Go Channel 详解
概述 在 Go 语言中,channel 是一种用于在 goroutine 之间传递数据的机制。它提供了同步和通信的能力,使得并发编程变得更加简单和安全。Channel 在 Go 语言中的设计是类型安全的,并且支持发送和接收两种操作。 基本概念 创建通道 创建一个…...
使用FModel提取游戏资产
使用FModel提取游戏模型 前言FModel简介FModel安装FModel使用初次使用资产预览资产导出 附录dumperDumper-7生成usmap文件向游戏中注入dll 前言 这篇文章仅记录我作为初学者使用FModel工具提取某款游戏模型的过程。 FModel简介 FModel是一个开源软件,可以用于查看…...
Qt C++ 屏幕录制 保存mp4
在麒麟系统(基于 Linux)上优化 Qt C 的屏幕录制,主要针对捕获效率和编码速度。可以参考以下优化策略: 1. 使用更高效的屏幕捕获 API 麒麟系统作为 Linux 系统的一种,可以考虑直接使用 X11、Wayland、或 DRM/KMS API …...
Adobe After Effects的插件--------CC Cylinder
CC Cylinder是柱体插件。它是AE内置的3D插件。 使用条件 该插件的作用是将2D图层转换为3D的柱体。所以使用该插件时要确保源图层为2D的。 我们以一张图片素材为例: 给图片图层添加CC Cylinder效果控件,然后新建一个摄像机(利用摄像机旋转、平移、推拉工具,方便在各个角度…...
Vue3项目开发——新闻发布管理系统(一)
文章目录 一、项目要实现的功能二、项目用到的技术栈三、项目创建1、pnpm安装2、创建项目3、项目启动四、项目配置1、ESLint2、Prettier3、ESLint + Prettier 进行配置代码风格3.1配置prettier3.2vue组件名称多单词组成 (忽略index.vue)3.3props解构(关闭)4、husky4.1husky…...
前端调用后端,出现跨域报错怎么办
我前端是vue,后端是其他同事写的python,因为部署在不同的机器上,我前端如果直接调用他的python,axios请求就会出现跨域报错,如下 blocked by CORS policy 云云 怎么办呢,网上探索了一下午,才找…...
使用Node-RED发送数据到巴法云
上一篇博文完成了Node-RED的安装,下面来尝试一下用Node-RED来发送数据到巴法云服务器。 我在教学用MQTT工具的思考-CSDN博客中说过,巴法云支持云云互联,可以连小米、百度,学生使用的兴趣高。所以今天先测试Node-RED和巴法云的连接…...
【今夕是何年】雅达利发布Atari 7800+游戏主机:配备无线手柄、HDMI接口
雅达利(Atari)发布了Atari 7800游戏主机,目前这款主机在其官方商城接受预定,售价129.99美元。Atari 7800游戏主机,作为Atari 7800系列的革新升级版本,搭载了高效的Rockchip 3128处理器,不仅确保…...
APP支付宝授权获取code uniapp
1.点击使用plus.runtime跳转打开支付宝 //打开支付宝授权,在支付宝APP中授权后会在支付宝中跳转到你填写的h5地址//urls是授权地址可以后端拼接也可以前端写死 //以下是一个拼接示例,需修改app_id的值和redirect_uri的值即可 //app_id是商户的APPID&…...
在Linux系统下安装、配置ETCD
在Linux系统下安装、配置ETCD(一个分布式键值存储系统)涉及多个步骤,包括下载、安装、配置、启动以及使用ETCD的常用命令。以下是对这些步骤的详细讲解,内容不少于2000字。 一、ETCD简介 ETCD是一个高可用的键值存储系统&#x…...
lambda 表达式可以传递引用为什么需要引用捕获
当 lambda 表达式被传递或存储在其他地方时,通过引用捕获可以确保它始终访问正确的外部变量。—— 引用捕获可以精确地控制被捕获的引用变量的作用域。如果一个 lambda 表达式被存储在一个容器中,并且在不同的时间点被调用,引用捕获可以确保它…...
【Java】/* 双向链表 - 底层实现 */
【难点】:remove、removeAllKey 一、IList package bagfive;/*** Created with IntelliJ IDEA.* Description:* User: tangyuxiu* Date: 2024-08-21* Time: 20:30*/ public interface IList<E> {//头插法void addFirst(E data);//尾插法void addLast(E data…...
Go 语言协程管理精解
1.基础 协程切换需要操作寄存器,这些操作需要通过汇编辅助实现。另外,每一个协程都有一个协程栈,实际上协程栈也是有结构的。汇编程序和栈结构这些概念可能大部分开发者都不太了解,在介绍协程管理之间,先简要介绍。 1…...
C库函数signal()信号处理
signal()是ANSI C信号处理函数,原型如下: #include <signal.h>typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); signal()将信号signum的处置设置为handler,该handler为SIG_IGNÿ…...
007 SpringCloudAlibaba基础使用(nacos,gateway)
文章目录 cubemall-commoncubemall-productcubemall-gateway https://nacos.io/ https://github.com/alibaba/nacos/releases/tag/1.4.1 https://github.com/alibaba/spring-cloud-alibaba https://github.com/alibaba/Nacos https://developer.aliyun.com/mvn/guide https…...
编译环境揭秘
不同平台因为偏好差异,编译环境的准备会有差异。对于MSVC,微软提供简单的VS安装界面,比较省心。在Ubuntu发行版,gcc/make等程序可能不自带,当需要安装这些软件时就需要不少命令。当然比较麻烦,提供了统一的…...
不同的字符集(ASCII、UTF-8、UTF-16/UCS-2、UTF-32/UCS-4)
来自:C标准库(第2版)...
STM32f407 网络接收 fpga 的 bin 文件并更新到 fpga series7(3)
STM32f407 网络接收 fpga 的 bin 文件并更新到 fpga series7(3) 简介 实验 3:在搭建好 tcp 服务器,并拟定好协议的前提下,接收每一个 bin 文件的块,配置到 fpga。 原理图 fpga fpga1 stm32 接线总结 // fpga引脚 stm32…...
JavaScript基础知识(七)
数组相关api再续前缘 arr.forEach(function) 对arr数组的每一项执行遍历操作,并且可以通过function来对相关元素进行二次操作 function: 函数,同时接收三个参数 - item: 数组中的每一项 - index: 数组每一项的下标(item的对应下标) - arr: 原数组 arr.map(function) 对数组的…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
[特殊字符] 手撸 Redis 互斥锁那些坑
📖 手撸 Redis 互斥锁那些坑 最近搞业务遇到高并发下同一个 key 的互斥操作,想实现分布式环境下的互斥锁。于是私下顺手手撸了个基于 Redis 的简单互斥锁,也顺便跟 Redisson 的 RLock 机制对比了下,记录一波,别踩我踩过…...
