在我們使用mock.js攔截帶參數的get請求時候,使用以下方式往往會失效。因為get請求會把參數顯示的放在URL中。
Mock.mock("/getinfo", "get", mockData)
在調用getinfo接口時,我們實際的URL可能是/getinfo?id=1&type=2...等一長串。
我們可以使用RegExp匹配URL正則表達式"/getinfo" + ".*"匹配所有/getinfo開頭的URL。
Mock.mock(RegExp("/getinfo" + ".*"), "get", mockData)
如果有多個類似的接口如
/getinfo,/getinfoByType,則可以使用更嚴格的正則表達式如"/getinfo?" + ".*"和"/getinfoByType?" + ".*"。
也可以在生成響應數據的函數function(options)中根據URL不同來返回不同響應數據。
Mock.mock(RegExp('/getinfo?' + ".*"), "get", function(options){
// 處理URL根據URL不同返回響應數據
console.log(options.url);
return Mock.mock(mockData);
});
