加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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/

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有