Py学习  »  Git

GitHub 新项目!快速生成接口文档和模拟数据,开发联调效率杠杠滴

GitHub精选 • 3 年前 • 345 次点击  

【公众号回复 “1024”,免费领取程序员赚钱实操经验】

说起前后端,避免不了一系列的协作问题,包括但不限于接口没有及时给出、文档没有及时编写、接口写好后又时好时坏、系统未完成造数据困难……

先评估现在常见的解决方案

直接在用到的地方写死数据。例如直接把数据写到模版上,或者变量值的声明位置,或者一个 json 文件。

  • 优点

    • 简单

    • 见效快

  • 缺点

    • 死数据,编写麻烦

    • 可维护性差

    • 造成大量冗余代码

项目代码内分模块编写 mock 代码。例如创建专门的 mock 目录,使用 mockjs 进入 ajax 拦截实现接口和数据模拟。要对于上一个方案而言,造数据容易得多,并且减少了代码入侵。

  • 优点

    • 外置依赖最小

  • 缺点

    • 解耦性差

    • 浏览器看不见请求

    • 不支持文件流

自己实现一个服务端。例如使用 express 这些接口库,专门开一个项目来做接口模拟,这要求有一定的额外知识储备。

  • 优点

    • 定制性最强

  • 缺点

    • 需要额外维护一个项目

    • 需要自己开发对应的数据生成及其他功能

使用在线的模拟平台,例如一些在线 mock 服务。

  • 优点

    • 交互良好,多人协作

  • 缺点

    • api 路径定制性差

    • 或有数据敏感风险

    • 不支持离线开发

    • 不支持文件流

关于 mockm 能给到的

  • 小巧易用

    • 安装包 430KB,解包大小 1.79 MB

    • npm 一键安装,跨平台使用

    • 支持 UI 界面操作

  • 接口自动创建

    • 支持 Restful API,给一个对象即可生成增删改查一系列接口

    • 支持 WebSocket 实时通讯

    • 支持文件流,例如上传,下载

  • 数据生成

    • 支持使用 Mockjs 语法

    • 经过增强和优化的 Mockjs 语法

    • 支持使用原生 js 写数据 (数据类型选择为 eval 即可)

    • 支持批量自动翻译和转换

    • 支持声明类型和描述

  • 辅助调试

    • 支持保存请求记录

    • 支持请求重放,编辑

    • 支持精简版 postman

    • 自动带参调试,无需登录

    • 支持自动允许跨域

    • 支持 api 拦截,注入,响应修改

    • 支持远程调试,一个属性完成内网穿透,无需花生壳,nginx,无需注册账号

  • 辅助开发

    • 开源免费

    • 高可定制

    • 开放配置,直接支持 nodejs 相关生态

    • 修改实时生效

  • 辅助部署

    • 数据和配置可移植

    • 自带进程守护

看起来比较抽象,简单来说 mockm 是一个跨平台,前后端可用的接口工具,类似一个便捷的服务端模拟服务,然后附带一些联调接口时会用到的功能,例如精简版 postman,可以自动带 token 调试接口,无需担心帐号被挤,请求信息可重放和可查阅。

由于是一个服务端的实现,支持更多的模拟场景,例如文件的上传下载、静态资源访问、WebSocket实时通讯,接口代理和拦截……经过封装,很简单就能实现所要模拟的接口。

以下是一些示例。

创建 API


从文本批量转换为接口和数据

为了方便快速造数据,可以 从文本批量转换为接口和数据,假设有这样一个接口: /api/user,只需给出以下格式的内容:

会自动转换为:

然后访问接口返回:

当然,响应的格式是完全可以自定义的。如果觉得这个功能比较鸡肋,也可以看看其他功能。

快速生成 Restful API

假设我要写一个博客文章的列表,并且要实现添加文章、查询文章、分页、模糊搜索、删除、修改等各种功能的接口。那么只需添加以下内容:

这时候上面要实现的所有接口已经实现了。这里我用 http 作为请求工具简单表示几个功能,你可以使用你喜欢的工具发送请求。

  • GitHub: https://github.com/wll8/mockm

  • 文档:https://hongqiye.com/doc/mockm

最近,章鱼猫建了一个「GitHub 精选交流群」,欢迎大家一起交流优秀开源项目,也可以宣传自己的开源项目,在 「GitHub 精选」公众号后台回复【加群】邀请你入群。

---特别推荐---

特别推荐:一个新的优质的专注分享各种浏览器插件、黑科技教程、各种你想不到的高效率软件及工具的公众号,「黑科技指北」,非常值得大家关注。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/107967
 
345 次点击