Android 在循环中添加post参数-OkHTTP
我正在使用OkHTTP向我的服务器发出post请求。我知道我可以构建这样的请求:Android 在循环中添加post参数-OkHTTP,android,okhttp,android-networking,Android,Okhttp,Android Networking,我正在使用OkHTTP向我的服务器发出post请求。我知道我可以构建这样的请求: RequestBody formBody = new FormEncodingBuilder() .add("param1", param1) .build(); Request request = new Request.Builder() .url(url) .post(formBody)
RequestBody formBody = new FormEncodingBuilder()
.add("param1", param1)
.build();
Request request = new Request.Builder()
.url(url)
.post(formBody)
.build();
所以我想做的是动态添加参数。例如:
RequestBody formBody = new FormEncodingBuilder()
for (ParamsArray m : requestParams) {
formBody.add("param1", requestParams.value);
}
但是对于RequestBody
没有函数add
,我不知道是否可以将FormEncodingBuilder
转换为RequestBody
谢谢大家! A
FormEncodingBuilder
在您构建它时将变成RequestBody
。看一下文档,类似这样的东西应该会起作用
FormEncodingBuilder formBodyBuilder = new FormEncodingBuilder()
for (ParamsArray m : requestParams) {
formBodyBuilder.add("param1", requestParams.value);
}
RequestBody body = formBodyBuilder.build()
文档可在以下位置获得:
试试这个
FormEncodingBuilder formBodyBuilder = new FormEncodingBuilder();
for (ParamsArray m : requestParams) {
formBodyBuilder.add("param1", requestParams.value);
}
RequestBody formBody = formBodyBuilder.build();
Request request = new Request.Builder()
.url(url)
.post(formBody)
.build();
自3.0.0起,以下各项:
现在已对形状和多部分实体进行建模。我们已经换了不透明的
FormEncodingBuilder具有更强大的FormBody和
FormBody.Builder组合。同样,我们将MultipartBuilder升级为
MultipartBody、MultipartBody.Part和MultipartBody.Builder
因此,对于这些版本,请替换为FormBody.Builder 而不是FormEncodingBuilder 使用
哦,好吧,下次我最好看一下文档-谢谢!
Builder paramBuilder = new FormBody.Builder();
paramBuilder.add("param1","value1");
paramBuilder.add("param2","value2");
RequestBody requestBody = paramBuilder.build();