justreq测试接口配置服务
特性
- 自动缓存每一次接口请求,当测试服务器宕机时,依然可以从容开发
- 接口替身服务,当后台GG们还没开发好接口时,可以用json、txt等替代
- 独有jrs脚本,仿php,可以定制更灵活的接口替身,甚至可以用来开发小型站点
- 支持ES6、ES7,开发更高效
- 支持CORS跨域,前端开发也可以放心使用
- 支持https,无论接口采用http还是https,都能从容应对
安装
首先下载安装Node.js,然后运行以下命令安装justreq命令行工具
npm install -g justreq-cli
运行以下命令安装主程序
npm install justreq
初始化
运行以下命令进行初始化
justreq init
配置完成后,将在当前目录生成“.justreq”文件,你可以随时按自己需求进行配置
使用
运行以下命令启动justreq
justreq start
然后把你的接口地址直接指向justreq服务(JR Server),例如:
// const API_HOST = "https://test.youhost.com";
const API_HOST = "http://127.0.0.1:8000";
$.get(API_HOST + "/getInfo.do?userId=1001", func);
如果需要在启动的同时更新缓存,可以用以下命令
justreq start -c
如果接口地址临时改动了,而你又不想修改配置文件,可以用以下命令
justreq start -h temp.yourhost.com
可运行如下命令查看更多命令行参数
justreq start --help
进阶玩法
JRS脚本
接下来要郑重推荐我们独创的jrs脚本了。该脚本基于javascript,因此你完全不需要任何学习成本即可上手。先来一段:
// getUser.jrs
var userId = $_GET['userId'];
var users = {
1001 : {name:'zhangsan', age: 22},
1002 : {name:'lily', age: 21}
};
var user = users[userId];
setCookie('userName', user.name);
echo(JSON.stringify(user));
end();
除了你所熟知的javascript对象外,我们新增加了一些必要的全局函数、属性
属性
| name | description |
|---|---|
| $_GET | 获取querystring |
| $_POST | 获取POST方式提交的表单数据 |
| $_COOKIE | 获取cookies |
| $_HEADER | 获取header |
| $_FILES | 获取表单上传的文件。注意,如需要上传文件,须将form编码方式设置为enctype=”multipart/form-data” |
方法
| name | description |
|---|---|
| echo(string) | 向页面输出字符串 |
| end([string]) | 结束当前脚本,输出字符串为可选参数。注:请务必使用该方法结束脚本,否则脚本将运行至超时 |
| sendFile(filepath) | 也可直接使用文件做为输出。使用该方法时,不必再使用end()结束脚本 |
| setMime(suffix) | 设置当前输出的mimetype;缺省将尝试json,如自动检测不通过,将切换为txt。可选值为:txt、html、css、xml、json、js、jpg、jpeg、gif、png、svg。如需设置其它类型,可直接使用setHeader函数设置“Content-Type” |
| setCookie(name, value) | 设置输出的cookies。完整参数:setCookie(name, value [, expires [, path [, domain [, secure [, httponly]]]]]) |
| setHeader(name, value) | 设置header,其中’Server’、’Date’由JR Server自动设置,不允许修改 |
由于jrs脚本完全基于js,并运行于Node.js环境,因此,你可以使用Node.js下面的一切优秀模块来进行开发。
并且,只要你的Node.js版本支持,你也可以使用ES6/ES7来编写jrs
RULES配置
为了更好的发挥justreq的功能,我们提供了一些配置规则
| name | description |
|---|---|
| href | 接口路径,必填。可以使用正则表达式 |
| ignoreArgs | 可忽略字段,以逗号分割,可以忽略一些非关键字段。例如跳过常见的防缓存的?v=1483884433384,则设置 {"ignoreArgs" : "v"} |
| noCache | 不允许缓存该接口,缺省值为允许 |
| subs | 接口替身,推荐使用我们的jrs脚本,也可以是json、txt |
以下是一份样例:
// .justreq
{
...
"rules": [
{
"href": "user.do",
"subs": "user.jrs"
},
{
"href": "login.do",
"noCache": true
},
{
"href": "getGoodsInfo.do",
"ignoreArgs": "v,token,timestamp"
}
]
}
其它配置项
| name | description |
|---|---|
| host | 必须。将要代理的接口服务器主机名 |
| port | 可选。将要代理的接口服务器端口,默认80。(如设为443,并且没有配置proxyHttps选项,将自动切换为https方式连接接口服务器) |
| cacheTime | 可选。多久更新缓存,默认20分钟 |
| cachePath | 可选。缓存存放路径,默认.jr/cache |
| substitutePath | 可选。替身文件存放路径,默认.jr/subs |
| jrPort | 可选。JR Server服务端口,默认8000 |
| proxyTimeout | 可选。请求接口超时时间,默认6秒 |
| proxyHttps | 可选。所请求的接口是否https,可选值为:auto、yes、no。默认auto(检测port是否443)。 |
| ssl_ca | 可选。如果接口是https,并且需要数字证书,可使用该选项指定ca.pem存放地址 |
| ssl_key | 可选。如果接口是https,并且需要数字证书,可使用该选项指定key.pem存放地址 |
| ssl_cert | 可选。如果接口是https,并且需要数字证书,可使用该选项指定cert.pem存放地址 |
| onCors | 可选。是否开启cors跨域,可选值为:yes、no,默认yes |
| rules | 可选。参照RULES配置 |
详情请参考社区:https://github.com/vilien/justreq
justreq测试接口配置服务的更多相关文章
- django配置跨域并开发测试接口
1.创建一个测试项目 1.1 创建项目和APP django-admin startproject BookManage # 创建项目 python manage.py startapp books ...
- 02.django配置跨域并开发测试接口
1.创建一个测试项目 1.1 创建项目和APP '''1.创建项目和APP''' django-admin startproject BookManage # 创建项目 python mana ...
- Spring Cloud 配置服务
Spring Cloud 配置服务 1. 配置服务简介 产生背景: 传统开发中,我们通常是将系统的业务无关配置(数据库,缓存服务器)在properties中配置,在这个文件中不会经常改变,但随着系统规 ...
- [转]微信公众平台(测试接口)开发前的准备工作(转载自walkingmanc的专栏)
本文转自:http://blog.csdn.net/jiangweicpu/article/details/21228949 http://blog.csdn.net/walkingmanc/arti ...
- [CXF REST标准实战系列] 二、Spring4.0 整合 CXF3.0,实现测试接口(转)
转自:[CXF REST标准实战系列] 二.Spring4.0 整合 CXF3.0,实现测试接口 文章Points: 1.介绍RESTful架构风格 2.Spring配置CXF 3.三层初设计,实现W ...
- 微信开发——测试号申请,接口配置,JS接口安全域名,自定义菜单
1.申请测试账号: 先申请公众号后,点击进入公从号的管理页面:找到“开发者工具”,找到“公众平台测试账号”,点击“进入”. 2.接口配置信息设置 必须要外网哦,也就是微信服务器要能访问到你填写到url ...
- 【JMeter4.0学习(三)】之SoapUI创建WebService接口模拟服务端以及JMeter对SOAP协议性能测试脚本开发
目录: 创建WebService接口模拟服务端 下载SoapUI 新建MathUtil.wsdl文件 创建一个SOAP项目 接口模拟服务端配置以及启动 JMeter对SOAP协议性能测试脚本开发 [阐 ...
- Jmeter测试接口
文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接 ...
- ASP.NET Web API 2系列(三):查看WebAPI接口的详细说明及测试接口
引言 前边两篇博客介绍了Web API的基本框架以及路由配置,这篇博客主要解决在前后端分离项目中,为前端人员提供详细接口说明的问题,主要是通过修改WebApi HelpPage相关代码和添加WebAp ...
随机推荐
- jquery插件开发三种方法
1.好像之前看视频记录下来的,不记得了. //类级别插件开发,主要是在jQuery中定义全局方法: //第一种写法 jQuery.myFunc = function(str){ alert(" ...
- udgrade rubygems-update
gem install rubygems-update update_rubygems gem update --system gem install rubygems-bundler
- MySQL中date类型的空值0000-00-00和00:00:00
1.如果mysql中使用了date类型,并且默认值为'0000-00-00', 那么数据库中的'0000-00-00 00:00:00', '0000-00-00', '00:00:00'这三个值是相 ...
- SharePoint 2013 EventHanlder工具
之前在07的时候使用SharePoint Event Receiver Manager (2007 & 2010)来管理SharePoint的Event Handler,但是2013后作者没有 ...
- 深入了解Java虚拟机(3)类文件结构
虚拟机执行子系统 一.类文件结构 1.魔数和class版本 1.magic-魔数:0xCAFEBABE:4字节 2.minor_version:次版本,丶之后的数字:2字节 3.major_versi ...
- [转]使用BCP导出导入数据
本文转自:http://www.cnblogs.com/zerocc/p/3225723.html bcp 实用工具可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容 ...
- 初识IntPtr
一:什么是IntPtr 先来看看MSDN上说的:用于表示指针或句柄的平台特定类型.这个其实说出了这样两个事实,IntPtr 可以用来表示指针或句柄.它是一个平台特定类型.对于它的解释,这个哥们写的比较 ...
- 二十、curator recipes之NodeCache
简介 Curator的NodeCache允许你监听一个节点,当节点数据更改或者节点被删除的时候将会触发监听. 官方文档:http://curator.apache.org/curator-recipe ...
- Centos7初次开机提示Initial setup of CentOS Linux 7 (core)
安装完成centos7后出现如下提示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License informat ...
- 深入理解java虚拟机---4虚拟机类加载机制
本文来源于翁舒航的博客,点击即可跳转原文观看!!!(被转载或者拷贝走的内容可能缺失图片.视频等原文的内容) 若网站将链接屏蔽,可直接拷贝原文链接到地址栏跳转观看,原文链接:https://www.cn ...