当前位置: 首页 > news >正文

Mock接口编写教程-axios-mock-adapter(React)

Mock模拟接口编写教程

直接在前端实现接口模拟

1.第一步 设置模拟接口

// mock.ts
import axios from 'axios'
import MockAdapter from 'axios-mock-adapter'

// 创建一个模拟适配器
const mock = new MockAdapter(axios)

// 设置模拟接口
export const setupMock = () => {
  mock.onPost('/api/engine/node/query').reply(config => {
    const { dagId, nodeId } = JSON.parse(config.data)
    if (dagId === 'text_processing' && nodeId === 'python_node_01') {
      return [
        200,
        {
          status: 'success',
          msg: '查询成功',
          node_status: 'running',
        },
      ]
    } else {
      return [
        400,
        {
          status: 'error',
          msg: '未找到对应的节点',
          node_status: 'unknown',
        },
      ]
    }
  })
  mock.onPost('/api/engine/dag/startup').reply(200, {
    status: 'success',
    msg: 'DAG 启动成功',
  })
  // 关键修复:允许其他所有请求直接发送到服务器
  mock.onAny().passThrough() // 新增这行代码
}

Bug修复:解决自定义节点被拦截 

  // 关键修复:允许其他所有请求直接发送到服务器
  mock.onAny().passThrough() // 新增这行代码

 

2.第二步 开启模拟接口

import { setupMock } from './api/mockApi.ts' // 引入模拟请求
setupMock() // 启用模拟请求

3.第三步 导出接口访问方式

忽略any。。。。公司项目不暴露接口类型

// 创建真实请求的接口
export const queryNode = (data: any) => {
  return axios.post('/api/engine/node/query', data)
}

export const startDag = (data: any) => {
  return axios.post('/api/engine/dag/startup', data)
}

4.第四步 使用接口

import { queryNode, startDag } from '../../api/mockApi'

    const response = await queryNode({ dagId: 'text_processing', nodeId: 'python_node_01' })

相关文章:

  • 神聖的綫性代數速成例題6. 方陣行列式的性質、伴隨矩陣
  • Python驱动CATIA自动化建模:科赫雪花算法实现与工程应用
  • AI数字人短视频数字人口播源码核心技术解析与商业应用
  • 使用usb-cam包时填充摄像头参数话题
  • 第27周JavaSpringboot git初识
  • 【商城实战(30)】从0到1搭建商城数据分析功能,开启数据驱动增长引擎
  • 数据可视化在特征分布对比中的应用
  • 【AI-Coding】聊聊AI--软件架构探索体验
  • Mysql - 日志相关问题
  • 【工具类】PDF文件转图片
  • 计算机网络 第一章:计算机网络和因特网(1)
  • CMake学习笔记(三):静态库,动态库的生成和使用
  • Python基础入门掌握(十三)
  • Linux应用:程序运行
  • ESP32学习 -从STM32工程架构进阶到ESP32架构
  • C++基础 [五] - String的模拟实现
  • 本地部署 RAGFlow - 修改默认端口
  • 基于javaweb的SpringBoot校园运动会管理系统设计与实现(源码+文档+部署讲解)
  • 其利天下技术·伺服电机在机器人技术中的应用
  • 深度解析ECharts.js:构建现代化数据可视化的利器
  • 新势力4月销量出炉:零跑逾4万辆再夺冠,蔚来环比增近六成,小米下滑
  • 韩国代总统、国务总理韩德洙宣布辞职,将择期宣布参选总统
  • 美国务院宣布新一轮与伊朗相关的制裁
  • 两部门调度部署“五一”假期安全防范工作,要求抓好旅游安全
  • 2025年“投资新余•上海行”钢铁产业“双招双引”推介会成功举行
  • 中国人保一季度业绩“分化”:财险净利增超92%,寿险增收不增利