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/
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
特性
- API 基本信息管理:可以添加和编辑 API 信息。
- 支持不同参数返回不同数据:可以根据不同的请求参数返回不同的模拟数据。
- 支持多种数据格式:可以返回 JSON、JSONP 或 XML 格式的数据。
- 自动代理功能:如果未找到匹配的模拟数据,则自动转发请求到实际服务器。
使用说明
API 信息管理
- 访问
http://工具所在服务器地址/~apifaker/
开始管理 API。 - 添加接口和模拟数据记录页中的各个字段都有详细说明,请参考各个字段的描述。
API 模拟
- 将你希望模拟的 API 的域名指向工具部署所在的机器,然后在工具页面添加对应的 API 信息。
- 浏览器中访问 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
接口:
- 在机器 B (192.168.1.3) 上部署工具,并确认没有对
api.example.com
进行 host。 - 在机器 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返回的数据,使团队成员能够共享这些数据。
安装步骤:
- 确保已安装Node.js环境。
- 下载Api Faker的最新文件,可以从这里下载。
- 解压文件到任意目录,进入解压后的目录。
- 运行
npm install
安装所需的依赖包。 - 修改
config.js
文件以适应你的需求。 - 运行
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');
});
使用说明:
- 管理API信息:通过浏览器访问
http://<your-server-address>/~apifaker/
来添加、编辑和删除API信息。 - 模拟API数据:当请求API时,会根据配置返回相应的模拟数据。
- 自动代理功能:如果请求的API未匹配到模拟数据,则会自动转发到实际服务器。
这个工具非常适合在开发阶段模拟后端API,特别是在前后端分离的项目中,前端可以提前开始开发,而无需等待后端接口完成。