Nodejs Api Faker - Api接口数据模拟器

Nodejs Api Faker - Api接口数据模拟器

这个小工具可以帮忙管理api信息,当然最重要是的返回api模拟数据。 使用fiddler2之类的工具过程中有感模拟返回数据不太方便。所以开发了这个简易工具。 有了这个工具,你构造了模拟数据,团队你的其他人也可以共享使用了。 偷个懒,直接从readme拷过来 :)

Api Faker

这里可以查看示例:http://demo.apifaker.com/~apifaker/

简介

Api模拟器,顾名思义,它是一个模拟器,它可以模拟api行为返回json(jsonp),text或xml格式数据。

同时你也可以把它当作一个简易的api文档管理工具。

Api管理平台支持浏览器: Chrome, Firefox, Safari, Opera, Internet Explorer 9+.

安装

Api Faker运行在Nodejs环境下,请确保系统中已经安装好Nodejs。

从下面地址下载最新的文件 https://github.com/hylin/apifaker/archive/master.zip 解压到任意目录,命令行中cd到该解压目录,安装依赖组件,根据实际情况修改config.js配置,然后启动即可。

npm install
// modify the config file as yours
node apifaker.js

特性

  • Api基本信息管理
  • 支持同一接口根据不同参数,返回不同模拟数据
  • 支持模拟返回json(jsonp),text,xml格式数据
  • 支持自动代理,即如果没有匹配的请求的模拟数据,自动转发到实际服务器

说明

Api信息管理

1.访问http://工具所在服务器地址/~apifaker/,即可开始管理Api

2.添加接口和添加模拟数据记录页各个字段都有详细的说明,请参考各个字段说明

Api模拟

1.将你希望模拟的api的域名host到工具部署所在机器,到工具页面添加对应api信息,然后浏览器中访问api即可看到返回模拟的数据。

例如,工具自带两个qq地图的webservice接口示例。你只需要在你本机做以下host(192.210.195.6是demo.apifaker.com的ip)

192.210.195.6 apis.map.qq.com

然后再用浏览器访问 http://apis.map.qq.com/ws/coord/v1/translate?locations=39.12,116.83;30.21,115.43&type=3&callback=test&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77 即可看到接口返回值,是Api Faker模拟返回的。

2.要使用自动代理功能,务必将本工具部署到其它机器,并且不能对请求的域名进行host。

比如,你要在机器A(192.168.1.2)上测试http://api.example.com/v1/get_user_info 接口。

首先你在机器B(192.168.1.3)上部署这个工具,并确认机器B上没有对api.example.com域名进行host。

然后,在机器A上配置host

192.168.1.3 api.example.com

。 这样在机器A上访问http://api.example.com/v1/get_user_info 时,如果没有匹配上设置的模拟数据条件,则该工具会自动从机器B发起一个相同的请求访问http://api.example.com/v1/get_user_info ,由于机器B上没有host,所以会去访问实际的api.example.com域名下的接口

还是demo.apifaker.com上的示例,host不变,你访问 http://apis.map.qq.com/ws/geocoder/v1?location=39.984154,116.307490&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77&callback=test ,虽然apis.map.qq.com被host到了192.210.195.6,但是还是返回了正确结果,因为该接口目前停止了模拟,并开启了代理模式。

License

Apache License 2.0

© 2014 http://www.apifaker.com/


4 回复

Nodejs Api Faker - Api接口数据模拟器

简介

Api Faker 是一个用于模拟 API 行为并返回 JSON、JSONP 或 XML 格式数据的小工具。你可以将其视为一个简易的 API 文档管理工具。通过这个工具,你可以轻松地管理和生成 API 数据,使得团队成员能够共享和使用这些数据。

示例

你可以在这里查看示例:http://demo.apifaker.com/~apifaker/

安装

首先确保你已经在系统中安装了 Node.js。接着,从 GitHub 下载最新版本的文件:

https://github.com/hylin/apifaker/archive/master.zip

解压文件到任意目录,然后进入解压后的目录,安装依赖项并启动服务:

npm install
# 修改配置文件以适应你的需求
node apifaker.js

特性

  1. API 基本信息管理:可以添加和编辑 API 信息。
  2. 支持不同参数返回不同数据:可以根据不同的请求参数返回不同的模拟数据。
  3. 支持多种数据格式:可以返回 JSON、JSONP 或 XML 格式的数据。
  4. 自动代理功能:如果未找到匹配的模拟数据,则自动转发请求到实际服务器。

使用说明

API 信息管理
  1. 访问 http://工具所在服务器地址/~apifaker/ 开始管理 API。
  2. 添加接口和模拟数据记录页中的各个字段都有详细说明,请参考各个字段的描述。
API 模拟
  1. 将你希望模拟的 API 的域名指向工具部署所在的机器,然后在工具页面添加对应的 API 信息。
  2. 浏览器中访问 API 即可看到返回的模拟数据。

例如,假设你希望模拟 QQ 地图的 WebService 接口:

# 在本地 hosts 文件中添加
192.210.195.6 apis.map.qq.com

然后在浏览器中访问:

http://apis.map.qq.com/ws/coord/v1/translate?locations=39.12,116.83;30.21,115.43&type=3&callback=test&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77

你将看到由 Api Faker 模拟返回的结果。

自动代理

如果你希望使用自动代理功能,需要将工具部署到其他机器,并且不对请求的域名进行 host。

例如,要在机器 A (192.168.1.2) 上测试 http://api.example.com/v1/get_user_info 接口:

  1. 在机器 B (192.168.1.3) 上部署工具,并确认没有对 api.example.com 进行 host。
  2. 在机器 A 上配置 host:
192.168.1.3 api.example.com

这样,当在机器 A 上访问 http://api.example.com/v1/get_user_info 时,如果没有匹配的模拟数据,工具会自动从机器 B 发起请求到实际服务器。

许可证

此项目采用 Apache License 2.0 许可证。

结语

Api Faker 是一个简单易用的工具,可以帮助开发者快速生成和管理 API 数据,提高开发效率。希望这个工具对你有所帮助!


好东西,,以前自己用python也做过一个,不过后面没弄了. 现在用的是google chrome的Rest console和Postman

配置了端口,页面不生效?

“Nodejs Api Faker - Api接口数据模拟器” 是一个用于管理API信息并生成模拟数据的小工具。通过这个工具,你可以方便地管理和模拟API返回的数据,使团队成员能够共享这些数据。

安装步骤:

  1. 确保已安装Node.js环境。
  2. 下载Api Faker的最新文件,可以从这里下载。
  3. 解压文件到任意目录,进入解压后的目录。
  4. 运行 npm install 安装所需的依赖包。
  5. 修改 config.js 文件以适应你的需求。
  6. 运行 node apifaker.js 启动服务。

示例代码:

假设你已经在本地安装并配置好了Api Faker,以下是如何创建一个简单的API模拟器:

// 假设你的项目结构如下:
// project/
//   - config.js
//   - routes/
//     - apiFakerRoutes.js
//   - app.js

// 在routes/apiFakerRoutes.js中定义路由
const express = require('express');
const router = express.Router();

router.get('/mock-api', (req, res) => {
    // 模拟数据
    const mockData = {
        status: 'success',
        data: {
            id: 1,
            name: 'John Doe',
            age: 30,
            email: 'john.doe@example.com'
        }
    };

    res.json(mockData);
});

module.exports = router;

// 在app.js中引入路由
const express = require('express');
const app = express();
const apiFakerRoutes = require('./routes/apiFakerRoutes');

app.use('/api', apiFakerRoutes);

app.listen(3000, () => {
    console.log('Api Faker server running on port 3000');
});

使用说明:

  1. 管理API信息:通过浏览器访问 http://<your-server-address>/~apifaker/ 来添加、编辑和删除API信息。
  2. 模拟API数据:当请求API时,会根据配置返回相应的模拟数据。
  3. 自动代理功能:如果请求的API未匹配到模拟数据,则会自动转发到实际服务器。

这个工具非常适合在开发阶段模拟后端API,特别是在前后端分离的项目中,前端可以提前开始开发,而无需等待后端接口完成。

回到顶部