1 常用抓包软件fidder4 Charles(可以拦截跳转map功能) 等,
Map From 为需要拦截的接口,Map To 为模拟的api接口,此处我们填入 http://www.mocky.io/v2/58592298240000ba087c5a92,如下图:![]()
需要等api 时候使用,
使用okhttp拦截器,
public class MockInterceptor
implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Gson gson = new Gson() ;
Response response = null;
Response.Builder builder = new Response.Builder()
.code( 200)
.message( "")
.request(chain.request())
.protocol(Protocol. HTTP_1_0)
.addHeader( "content-type" , "application/json") ;
Request request = chain.request() ;
if(request.url().equals( "we need to mock")){
String respondString = "{ \n " +
" \" code \" : \" 200 \" , \n " +
" \" message \" : \" success \"\n " +
" \" data \" :{ \n " +
" \n " +
" } \n " +
"}" ;
builder.body(ResponseBody. create(MediaType. parse( "application/json") ,respondString.getBytes())) ;
response = builder.build() ;
} else {
response = chain.proceed(request) ;
}
return response ;
}
}
@Override
public Response intercept(Chain chain) throws IOException {
Gson gson = new Gson() ;
Response response = null;
Response.Builder builder = new Response.Builder()
.code( 200)
.message( "")
.request(chain.request())
.protocol(Protocol. HTTP_1_0)
.addHeader( "content-type" , "application/json") ;
Request request = chain.request() ;
if(request.url().equals( "we need to mock")){
String respondString = "{ \n " +
" \" code \" : \" 200 \" , \n " +
" \" message \" : \" success \"\n " +
" \" data \" :{ \n " +
" \n " +
" } \n " +
"}" ;
builder.body(ResponseBody. create(MediaType. parse( "application/json") ,respondString.getBytes())) ;
response = builder.build() ;
} else {
response = chain.proceed(request) ;
}
return response ;
}
}