【发布时间】:2017-06-26 19:41:49
【问题描述】:
我想改变Okhttp中的RequestBody,RequestBody的方法是POST形式。
但是,我不知道如何将RequestBody更改为Form或map。(以下//TODO)
httpClient.networkInterceptors().add(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request original = chain.request();
RequestBody body = original.body();
if (null != body) {
//TODO Get the form data, encrypt the value of 'data', and add a param with version/1.0
body = new EncryptRequestBody(body);
}
Request.Builder requestBuilder = original.newBuilder()
.method(original.method(), body);
Request request = requestBuilder.build();
return chain.proceed(request);
}
});
【问题讨论】:
-
FormBody.Builder 有效吗? square.github.io/okhttp/3.x/okhttp/index.html?okhttp3/…
-
我用的是2.x,想把origin RequestBody改成map,然后在map里改一些,而不是新建RequestBody。我不知道如何从 RequestBody 对象中提取键和值。