亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

永不離線的測試接口服務(wù)——justreq

CoXie / 1081人閱讀

摘要:將要代理的接口服務(wù)器主機(jī)名可選。如設(shè)為,并且沒有配置選項(xiàng),將自動(dòng)切換為方式連接接口服務(wù)器可選。所請(qǐng)求的接口是否,可選值為。如果接口是,并且需要數(shù)字證書,可使用該選項(xiàng)指定存放地址可選。

justreq(JR Server)

相信各位程序猿、攻城獅都有遇到過接口服務(wù)器不給力的情況。有時(shí)接口服務(wù)器宕機(jī),我們只能干瞪眼。有時(shí)也會(huì)想,如果能把接口拷貝到本地,那該多好。但是,先不說在本地運(yùn)行接口服務(wù)代價(jià)有多大,接口一旦升級(jí),又得再拷貝一次。為什么不能既能即時(shí)更新最新接口,又能不懼接口離線呢?答案是可以!
為了解決上述問題,我用業(yè)余時(shí)間開發(fā)了justreq。就像它的名字一樣:“just request”,never offline!,它可以幫助你實(shí)現(xiàn)接口永不離線的夢想。
其原理就是在本地進(jìn)行接口緩存,當(dāng)接口服務(wù)處于離線狀態(tài)時(shí),它將直接從本地調(diào)取緩存。默認(rèn)20分鐘更新一次緩存,對(duì)于服務(wù)器來說,也大大減輕了負(fù)擔(dān)。

特性

自動(dòng)緩存每一次接口請(qǐng)求,當(dāng)測試服務(wù)器宕機(jī)時(shí),依然可以從容開發(fā)

接口替身服務(wù),當(dāng)后臺(tái)GG們還沒開發(fā)好接口時(shí),可以用json、txt等替代

獨(dú)有jrs腳本,仿php,可以定制更靈活的接口替身,甚至可以用來開發(fā)小型站點(diǎn)

支持ES6、ES7,開發(fā)更高效

支持CORS跨域,前端開發(fā)也可以放心使用

支持https,無論接口采用http還是https,都能從容應(yīng)對(duì)

安裝

首先下載安裝Node.js,然后運(yùn)行以下命令安裝justreq命令行工具

npm install -g justreq-cli

運(yùn)行以下命令安裝主程序

npm install justreq
初始化

運(yùn)行以下命令進(jìn)行初始化

justreq init

配置完成后,將在當(dāng)前目錄生成“.justreq”文件,你可以隨時(shí)按自己需求進(jìn)行配置

使用

運(yùn)行以下命令啟動(dòng)justreq

justreq start

然后把你的接口地址直接指向justreq服務(wù)(JR Server)即可。例如:

// const API_HOST = "https://test.yourhost.com";
const API_HOST = "http://127.0.0.1:8000";
$.get(API_HOST + "/getInfo.do?userId=1001", callback);

如果需要在啟動(dòng)的同時(shí)更新緩存,可以用以下命令

justreq start -c

如果接口地址臨時(shí)改動(dòng)了,而你又不想修改配置文件,可以用以下命令

justreq start -h temp.yourhost.com

可運(yùn)行如下命令查看更多命令行參數(shù)

justreq start --help
進(jìn)階玩法 JRS腳本

接下來要鄭重推薦我們獨(dú)創(chuàng)的jrs腳本了。該腳本基于javascript,因此你完全不需要任何學(xué)習(xí)成本即可上手。先來一段:

// 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對(duì)象外,我們新增加了一些必要的全局函數(shù)、屬性

屬性
name description
$_GET 獲取querystring
$_POST 獲取POST方式提交的表單數(shù)據(jù)
$_COOKIE 獲取cookies
$_HEADER 獲取header
$_FILES 獲取表單上傳的文件。注意,如需要上傳文件,須將form編碼方式設(shè)置為enctype="multipart/form-data"
方法
name description
echo(string) 向頁面輸出字符串
end([string]) 結(jié)束當(dāng)前腳本,輸出字符串為可選參數(shù)。注:請(qǐng)務(wù)必使用該方法結(jié)束腳本,否則腳本將運(yùn)行至超時(shí)
sendFile(filepath) 也可直接使用文件做為輸出。使用該方法時(shí),不必再使用end()結(jié)束腳本
setMime(suffix) 設(shè)置當(dāng)前輸出的mimetype;缺省將嘗試json,如自動(dòng)檢測不通過,將切換為txt??蛇x值為:txt、html、css、xml、json、js、jpg、jpeg、gif、png、svg。如需設(shè)置其它類型,可直接使用setHeader函數(shù)設(shè)置“Content-Type”
setCookie(name, value) 設(shè)置輸出的cookies。完整參數(shù):setCookie(name, value [, expires [, path [, domain [, secure [, httponly]]]]])
setHeader(name, value) 設(shè)置header,其中"Server"、"Date"由JR Server自動(dòng)設(shè)置,不允許修改

由于jrs腳本完全基于js,并運(yùn)行于Node.js環(huán)境,因此,你可以使用Node.js下面的一切優(yōu)秀模塊來進(jìn)行開發(fā)。
并且,只要你的Node.js版本支持,你也可以使用ES6/ES7來編寫jrs


RULES配置

為了更好的發(fā)揮justreq的功能,我們提供了一些配置規(guī)則

name description
href 接口路徑,必填??梢允褂谜齽t表達(dá)式
ignoreArgs 可忽略字段,以逗號(hào)分割,可以忽略一些非關(guān)鍵字段。例如跳過常見的防緩存的?v=1483884433384,則設(shè)置 {"ignoreArgs" : "v"}
noCache 不允許緩存該接口,缺省值為允許
subs 接口替身,推薦使用我們的jrs腳本,也可以是json、txt

以下是一份樣例:

// .justreq
{
    ...
  "rules": [
    {
      "href":       "user.do?id=(d+)",
      "subs":       "user.jrs?userId=$1"
    },
    {
      "href":       "login.do",
      "noCache":    true
    },
    {
      "href":       "getGoodsInfo.do",
      "ignoreArgs": "v,token,timestamp"
    }
  ]
}

其它配置項(xiàng)
name description
host 必須。將要代理的接口服務(wù)器主機(jī)名
port 可選。將要代理的接口服務(wù)器端口,默認(rèn)80。(如設(shè)為443,并且沒有配置proxyHttps選項(xiàng),將自動(dòng)切換為https方式連接接口服務(wù)器)
cacheTime 可選。多久更新緩存,默認(rèn)20分鐘
cachePath 可選。緩存存放路徑,默認(rèn).jr/cache
substitutePath 可選。替身文件存放路徑,默認(rèn).jr/subs
jrPort 可選。JR Server服務(wù)端口,默認(rèn)8000
proxyTimeout 可選。請(qǐng)求接口超時(shí)時(shí)間,默認(rèn)6秒
proxyHttps 可選。所請(qǐng)求的接口是否https,可選值為:auto、yes、no。默認(rèn)auto(檢測port是否443)。
ssl_ca 可選。如果接口是https,并且需要數(shù)字證書,可使用該選項(xiàng)指定ca.pem存放地址
ssl_key 可選。如果接口是https,并且需要數(shù)字證書,可使用該選項(xiàng)指定key.pem存放地址
ssl_cert 可選。如果接口是https,并且需要數(shù)字證書,可使用該選項(xiàng)指定cert.pem存放地址
onCors 可選。是否開啟cors跨域,可選值為:yes、no,默認(rèn)yes
rules 可選。參照RULES配置

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/61817.html

Failed to recv the data from server completely (SIZE:0/8, REASON:closed)