构建万能 MOCK-API

构建万能 MOCK-API

前言

现代化项目基本上都是前后端分离的,基于此,后端可以通过Postman等工具调试自己的功能是否能正常运行,而针对前端来说,有些场景需要依赖后端的数据进行测试,这样就会被变成了单线程,被阻塞了,着实没必要

为了解决这个问题,特地构建了一个镜像,在简单的新功能开发的时候,可以直接修改环境变量,实现跟生成环境一模一样的数据结构请求地址,和完全相同的交互方式,这样就能无缝切换基础的请求地址,而不用改动任何功能

使用说明

  • 直接将Docker 镜像运行起来即可,也可以自行构建环境运行

GIT 地址

https://github.com/smallseapig/power-api.git

基础用法

  • 通过在指定路径创建JSON实现接口自动生成

模拟 API

  • 调用创建模拟API的接口,即可自动生成可访问的API接口

  • 只支持POST方法,支持以下几种接口,后缀为get-mock, create-mock, delete-mock, delete-mock-allappend-mock的方法

    • 查询所有可用的MOCK-API: http://localhost:8080/get-mock

    • 新增(覆盖)可用的MOCK-API: http://localhost:8080/power/mock-api/create-mock

      • 新增完成后,通过去掉后缀create-mock即可正常调用,如:http://localhost:8080/power/mock-api
    • 删除可用的MOCK-API: http://localhost:8080/power/mock-api/delete-mock

    • 查询所有可用的MOCK-API: http://localhost:8080/delete-mock-all

    • 【高定制功能】针对定制数据结构,支持数据追加分页查询

      • 定制的数据结构为xxx.data.records,示例如下:
      json 复制代码
      {
          "code": 0,
          "msg": "查询成功!",
          "data": {
              "records": [
                  { "id": "1864592907632418825" },
                  { "id": "1864592907632418825" }
              ],
              "total": 220,
              "size": 10,
              "current": 1,
              "pages": 22,
              "tag": null
          }
      }
      • 追加数据: http://localhost:8080/power/mock-api/append-mock

      • 分页查询:针对定制化数据,默认支持分页查询和条件查询,如:http://localhost:8080/power/mock-api,如果数据为常规数据,会自动切换为普通的MOCK-API

使用案例
  • 通过Postman等工具调用接口
  1. 新增MOCK-API

只支持POST方法,调用接口http://localhost:8080/power/mock-api/create-mock,在body中写入以下数据

json 复制代码
{
  "code": 200,
  "msg": "测试数据",
  "data": []
}
  1. 使用MOCK-API

只支持POST方法,调用接口http://localhost:8080/power/mock-api

高级用法

万能接口

  • 直接调用http://localhost:8080/的任意接口,支持后缀为get, create, page, update, delete的所有方法
使用案例
  • 使用GET方法调用查询接口,http://localhost:8080/power/get

    • 支持paramsid
    • 支持bodyid
    • 支持bodyids,需要为数组
  • 使用POST方法调用新增接口,http://localhost:8080/power/create

  • 使用POST方法调用查询接口,http://localhost:8080/power/page

  • 使用PUT方法调用查询接口,http://localhost:8080/power/update

  • 使用DELETE方法调用查询接口,http://localhost:8080/power/delete

    • 支持paramsid
    • 支持bodyid
    • 支持bodyids,需要为数组
相关推荐
开源技术16 分钟前
如何将本地LLM模型与Ollama和Python集成
开发语言·python
weixin_4370446416 分钟前
Netbox批量添加设备——堆叠设备
linux·网络·python
我有医保我先冲17 分钟前
AI 时代 “任务完成“ 与 “专业能力“ 的区分:理论基础、行业影响与个人发展策略
人工智能·python·机器学习
测试开发Kevin1 小时前
小tip:换行符CRLF 和 LF 的区别以及二者在实际项目中的影响
java·开发语言·python
爱学习的阿磊1 小时前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
阿狸OKay1 小时前
einops 库和 PyTorch 的 einsum 的语法
人工智能·pytorch·python
编码者卢布2 小时前
【Azure Storage Account】Azure Table Storage 跨区批量迁移方案
后端·python·flask
可触的未来,发芽的智生2 小时前
狂想:为AGI代称造字ta,《第三类智慧存在,神的赐名》
javascript·人工智能·python·神经网络·程序人生
吴维炜2 小时前
「Python算法」计费引擎系统SKILL.md
python·算法·agent·skill.md·vb coding
FansyMeng3 小时前
VSCode配置anaconda
vscode·python