1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| /** * OkHttp 拦截器,请求加上基本参数 */ public final class RequestInterceptor implements Interceptor {
@Override public Response intercept(@NonNull Chain chain) throws IOException {
Request request = chain.request(); String method = request.method();
Map<String, Object> basicParamMap = HttpFactory.getBasicParamMap();
if ("GET".equals(method)) { //GET请求 HttpUrl url = request.url(); HttpUrl.Builder urlbuilder = url.newBuilder(); for (String key : basicParamMap.keySet()) { urlbuilder.addQueryParameter(key, String.valueOf(basicParamMap.get(key))); } request = request.newBuilder().url(urlbuilder.build()).build(); }
if ("POST".equals(method)) { //POST请求 if (request.body() instanceof FormBody) { FormBody formBody = (FormBody) request.body(); FormBody.Builder bodyBuilder = new FormBody.Builder(); if (formBody != null) { for (int i = 0; i < formBody.size(); i++) { bodyBuilder.add(formBody.encodedName(i), formBody.encodedValue(i)); } } if (basicParamMap != null) { for (String key : basicParamMap.keySet()) { bodyBuilder.add(key, String.valueOf(basicParamMap.get(key))); } } request = request.newBuilder().post(bodyBuilder.build()).build(); } }
return chain.proceed(request); }
|