使用MockJS模拟数据,如何获取入参?

场景描述

在使用MockJS进行模拟数据的时候,会遇到一种场景,当参数=1时,展示A类数据,当参数=B时,展示B类数据,为了实现这场景,那就要在模拟数据时拿到请求参数?

实现逻辑

mock方法的编写如下:

ts 复制代码
export default [
  {
    url: '/xxxxx/get',
    method: 'post',
    timeout,
    response: (e) => {
      if(e.body && e.boby.type == 1){
        return A结果
      }
      if(e.body && e.boby.type == 2){
        return B结果
      }
      return null
    }
  }
] as MockMethod[]

responsee参数,字段如下,可以看见boby内有请求头信息,如此,我们可以根据这个boby进行判断,来模拟不同的结果,这样就会使得模拟的数据连贯。

完整的response数据如下:

json 复制代码
{
    "url": "/xxxxx/get",
    "body": {
        "type": 1
    },
    "query": {},
    "headers": {
        "host": "localhost:4000",
        "connection": "keep-alive",
        "content-length": "68",
        "pragma": "no-cache",
        "cache-control": "no-cache",
        "sec-ch-ua": "\"Google Chrome\";v=\"119\", \"Chromium\";v=\"119\", \"Not?A_Brand\";v=\"24\"",
        "accept": "application/json, text/plain, */*",
        "content-type": "application/json",
        "sec-ch-ua-mobile": "?0",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
        "sec-ch-ua-platform": "\"Windows\"",
        "origin": "http://localhost:4000",
        "sec-fetch-site": "same-origin",
        "sec-fetch-mode": "cors",
        "sec-fetch-dest": "empty",
        "referer": "http://localhost:4000/",
        "accept-encoding": "gzip, deflate, br",
        "accept-language": "zh-CN,zh;q=0.9"
    }
}

上面是post请求数据存储在body内,如果是get请求,参数会在query内进行展示。

相关推荐
却尘12 分钟前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare14 分钟前
浅浅看一下设计模式
前端
Lee川17 分钟前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试
Ticnix44 分钟前
ECharts初始化、销毁、resize 适配组件封装(含完整封装代码)
前端·echarts
纯爱掌门人1 小时前
终焉轮回里,藏着 AI 与人类的答案
前端·人工智能·aigc
twl1 小时前
OpenClaw 深度技术解析
前端
崔庆才丨静觅1 小时前
比官方便宜一半以上!Grok API 申请及使用
前端
星光不问赶路人1 小时前
vue3使用jsx语法详解
前端·vue.js
天蓝色的鱼鱼1 小时前
shadcn/ui,给你一个真正可控的UI组件库
前端
布列瑟农的星空1 小时前
前端都能看懂的Rust入门教程(三)——控制流语句
前端·后端·rust