單接口組合接口
舉個例子
圖中差不多至少有10個不同緯度的模塊數據,一般的實現方式就是前端調用10次,完成界面開發,或者後端封裝成一次請求返回所有數據。那麼在問題來了,分10次前端寫起來麻煩,分一次請求需求如有變動,我們得改後臺接口代碼改完前端還得改。那麼我們有沒有一種辦法,能夠隨時進行接口的的隨意組合,能夠快速響應需求的變化,同時又能減少不必要的開發成本呢,那麼就請看一下本框架的做法。
1.學校查詢接口
http://172.20.176.1:8080/test/commapi?m=q&k=bGsSchoolSelect&byid=1
{
"code": 20000,
"data": {
"list": [{
"citycode": "620702",
"cityname": "",
"creatTime": 1585995573000,
"id": 1,
"name": "一四五隊學校",
"x": "100.475309516",
"y": "38.9410538737"
}]
},
"msg": "數據請求成功"
}
Http://172.20.176.1:8080/test/commapi?m=q&k=bGsHosptialSelect&byname=世紀大藥房
{
"code": 20000,
"data": {
"list": [{
"address": "嘉峪關西路112號附近",
"citycode": "620102",
"cityname": "",
"id": 5,
"name": "世紀大藥房",
"x": "103.8793",
"y": "36.03899"
}]
},
"msg": "數據請求成功"
}
3.組合接口實現
接口1和接口2合併成一個接口一次性取回兩部分數據。
公用id檢索
http://172.20.176.1:8080/test/commapi?m=q&k=bGsSchoolSelect,bGsHosptialSelect&byid=1
{
"code": 20000,
"data": {
"bGsHosptialSelect": {
"list": [{
"address": "民主西路178",
"citycode": "620102",
"cityname": "",
"id": 1,
"name": "萬民藥房城關店",
"x": "103.83336",
"y": "36.04456"
}]
},
"bGsSchoolSelect": {
"list": [{
"citycode": "620702",
"cityname": "",
"creatTime": 1585995573000,
"id": 1,
"name": "一四五隊學校",
"x": "100.475309516",
"y": "38.9410538737"
}]
}
},
"msg": "數據請求成功"
}
根據名稱和id查詢
http://172.20.176.1:8080/test/commapi?m=q&k=bGsSchoolSelect,bGsHosptialSelect&byid=1&byname=世紀大藥房
{
"code": 20000,
"data": {
"bGsHosptialSelect": {
"list": []
},
"bGsSchoolSelect": {
"list": []
}
},
"msg": "數據請求成功"
}
根據名稱查詢
http://172.20.176.1:8080/test/commapi?m=q&k=bGsSchoolSelect,bGsHosptialSelect&byname=世紀大藥房
{
"code": 20000,
"data": {
"bGsHosptialSelect": {
"list": [{
"address": "嘉峪關西路112號附近",
"citycode": "620102",
"cityname": "",
"id": 5,
"name": "世紀大藥房",
"x": "103.8793",
"y": "36.03899"
}]
},
"bGsSchoolSelect": {
"list": []
}
},
"msg": "數據請求成功"
}
閱讀更多 數據服務 的文章