mock-server:一個基于NODEJS的WEB版的數(shù)據(jù)模擬系統(tǒng)
功能包含:
支持可視化編輯JSON接口數(shù)據(jù)及接口文檔
支持GET、POST、PUT啸驯、DELETE請求類型
支持指定返回狀態(tài)碼祟峦,默認200
支持延時返回數(shù)據(jù)
支持mockjs
支持單個接口代理到真實服務(wù)器(開發(fā)過程中某個接口使用模擬數(shù)據(jù),當此接口已開發(fā)完成后,可將指定接口,通過此服務(wù)指向到指定接口上)
完整使用文檔
在實際開發(fā)中徙鱼,許多數(shù)據(jù)接口是需要?權(quán)限驗證的(比如登錄用戶訪問用戶中心),在mock-server中厌衙,如何解決此問題绞绒?
下面講解如何解決此問題:
以用戶登錄后為例:通常情況下:比如用戶登錄。用戶登錄后喻杈,會在客戶端記錄COOKIE狰晚,以后所有請求,都會通過HEADER頭信息發(fā)磅到服務(wù)端瓷们,服務(wù)端通過COOKIE來驗證用戶登錄秒咐。
而我們需要作的就是在請求頭信息上加上此COOKIE信息,并傳遞到服務(wù)端攒钳,以AJAX為例:
客戶端:
1.你登錄后歹茶,服務(wù)端一般會返回一個COOKIE,假如為:
cookieAuthorization:xxxx1
2.在進入頁面時燎孟,將cookie緩存起來尸昧,并在AJAX請求時,自定義header字段:adminAuthorization:cookieAuthorization烹俗,比如jquery萍程,全局設(shè)置所有的AJAX請求都將這個header字段傳遞給后端(此處應(yīng)該是mock-server服務(wù))茫负。
$.ajaxSetup({
beforeSend: function(xhr) {
if (adminAuthorization) {
xhr.setRequestHeader('AdminAuthorization', adminAuthorization);
}
}
});
mock-server 系統(tǒng)設(shè)置:
1.開啟二次代理功能(完整使用說明請查看)
2..在系統(tǒng)設(shè)置中(推薦)忍法,設(shè)置二次代理中榕吼,被傳遞到真實服務(wù)端的HEADER字段名,此處為AdminAuthorization羹蚣,設(shè)置后,mock-server將會在請求API時咽弦,檢查HEADER信息中是否有該字段戈抄,如果存在就會被再次傳遞給二次代理的接口
服務(wù)端:
讓后端通過這個AdminAuthorization字段來驗證是否是登錄