mock.js拦截带参数的get请求
在我们使用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);
});

浙公网安备 33010602011771号