YurunDoc 接口合并請求

2018-10-12 13:20 更新

通過batch.php文件訪問,請求規(guī)則是POST提交json格式內(nèi)容。

配置文件:Config/batch.php

jQuery調(diào)用樣例代碼:

// 設置跨域傳遞cookie,如果不需要可以去除
$.ajaxSetup({
    xhrFields: {
        withCredentials: true
    },
});
$.ajax({
    // 在線演示地址,隨時可能崩掉,正式使用時請改成你自己的
    url: 'http://apiagent.toolapi.net/batch.php',
    method: 'post',
    data: JSON.stringify({
        /*aip: {
            url: 'ip', // 在apis中預定義的接口,傳別名即可
            getData: {ip: '218.4.255.255'},
        },*/
        aip: {
            url: 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json',
            getData: {ip: '218.4.255.255'}, // 這里的IP改變也會改變下面baike的結果哦
        },
        // weather2是錯誤的結果,會中斷
        /*weather2: {
            url: 'http://www.weather.com.cn/data/sk/1010101001.html',
            condition: { // 返回結果.weatherinfo不為null
                value: '{$weather2.weatherinfo}',
                regular: 'is not null',
            },
        },*/
        baike: {
            url: 'http://baike.baidu.com/api/openapi/BaikeLemmaCardApi?scope=103&format=json&appid=379020&bk_length=600',
            // get參數(shù)
            getData: {
                bk_key: '{$aip.city}', // api接口中返回的數(shù)據(jù).city
            },
            // post參數(shù)
            postData: {},
            // GET請求數(shù)據(jù)類型
            getDataType: 'form',
            // POST請求數(shù)據(jù)類型
            bodyDataType: 'form',
            // 自定義header,不定義則使用默認
            header: {
                'test': 'aaa',
            },
            // 驗證返回結果是否正確,不正確會中斷請求并返回
            condition: {
                value: '{$baike.errno}',
                regular: 'is not null',
            },
        },
    }),
    success: function(data) {
        console.debug(data);
    }
});

接口合并請求返回結構

{
    // 是否成功
    "success": true,
    // 錯誤信息
    "message": "",
    // 返回正文數(shù)據(jù)
    "data": {
        "test": ""
    },
    // 返回結果
    "result": {
        // 鍵名=>返回頭數(shù)據(jù)
        "test": {
            // 狀態(tài)碼
            "status_code": 208,
            // 返回頭
            "header": {
                "Server": "squid/3.5.20",
                "Date": "Mon, 09 Oct 2017 07:38:54 GMT",
                "Content-Type": "application/octet-stream",
                "Content-Length": "0",
                "Connection": "keep-alive"
            },
            // 請求耗時
            "time": 0.047
        }
    }
}

預定義驗證規(guī)則

代碼 含義
is null null === $value
is not null null !== $value
empty array 0 === count($value[0])
not empty array count($value[0]) > 0
true true === $value
false false === $value

除了預定義規(guī)則,你還可以編寫正則來驗證。如:\d+

dataType數(shù)據(jù)類型

名稱 含義
form 表單參數(shù)格式(如:a=1&b=2),默認
json 轉(zhuǎn)為json格式提交

不傳默認為form,其它名稱不對傳遞來的參數(shù)做任何處理

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號