java-okhttp从数组添加post参数
(2023-06-14 00:00:35)分类: androidios |
转:https://www.coder.work/article/6271214
我试图使用okhttp3
发送N个参数的发布请求。
我只能找到一种使用预定义数量的参数进行操作的方法。
我如何动态地向发布请求添加更多参数?
我想遍历键和值的数组列表,并将它们添加到addFormDataPart
或任何其他等效方法。
这是当前代码:
RequestBody requestBody = new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("email", "your-email@email.com")
.addFormDataPart("name", "your-name")
.build();
Request request = new Request.Builder()
.url("url")
.post(requestBody)
.build();
最佳答案
使用哈希图
// HashMap with Params
HashMap params = new HashMap<>();
// dynamically add more parameters like this:
params.put( "name", "Arom" );
params.put( "key_from_list", "value_from_list" );
// Initialize Builder (not RequestBody)
FormBody.Builder builder = new FormBody.Builder();
// loop while Adding Params to Builder
for ( Map.Entry entry : params.entrySet() ) {
builder.add( entry.getKey(), entry.getValue() );
}
// Create RequestBody
RequestBody formBody = builder.build();
// Create Request (same)
Request request = new Request.Builder()
.url( "url" )
.post( formBody )
.build();
关于java - okhttp从数组添加post参数,我们在Stack Overflow上找到一个类似的问题: /questions/56515112/
前一篇:Gson解析JSON数组