Android OKHttp添加参数 [英] Android OKHttp adding params

查看:834
本文介绍了Android OKHttp添加参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将参数附加到OkHttp Request.builder?

How is it possible to append params to an OkHttp Request.builder?

//request
Request.Builder requestBuilder = new Request.Builder()
            .url(url);

我已经管理了添加标头,但没有管理参数.

I've managed the add header but not params.

推荐答案

以下是有关如何使用okhttp进行发布请求(okhttp3)的完整示例.

Here is a complete example on how to use okhttp to make post request (okhttp3).

以表单正文形式发送数据

To send data as form body

RequestBody formBody = new FormBody.Builder()
        .add("param_a", "value_a")
        .addEncoded("param_b", "value_b")
        .build();

将数据作为多部分正文发送

To send data as multipart body

RequestBody multipartBody = new MultipartBody.Builder()
            .setType(MultipartBody.FORM)
            .addFormDataPart("fieldName", fileToUpload.getName(),RequestBody.create(MediaType.parse("application/octet-stream"), fileToUpload))
            .build();

以json正文形式发送数据

To send data as json body

    RequestBody jsonBody = RequestBody.create(MediaType.parse("application/json; charset=utf-8"),
            jsonObject.toString());

现在创建请求

    Request request = new Request.Builder()
            .addHeader("header_a", "value_a")  // to add header data
            .post(formBody)         // for form data
            .post(jsonBody)         // for json data
            .post(multipartBody)    // for multipart data
            .build();

    Response response = client.newCall(request).execute();

** fileToUpload是java File类型的对象

** fileToUpload is a object of type java File

**客户端是OkHttpClient类型的对象

** client is a object of type OkHttpClient

这篇关于Android OKHttp添加参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆