Bootstrap

OkHttp的使用之{RequestBody、FormBody、MultipartBody}

目录

0、相关文章

1、POST请求

1.1、RequestBody--json数据提交

1.2、FromBody---表单提交 这种能满足大部分的需求

1.3、MultipartBody---文件上传

1.4、图片下载,文件下载


0、相关文章

OkHttp的初步使用(get、post之{RequestBody、FormBody、MultipartBody})(阅读量4w,40赞)

1、POST请求

主要来讲一下post请求,post方式中的Request需要传递一个RequestBody作为post的参数。RequestBody有两个子类:FormBody和MultipartBody

1.1、RequestBody--json数据提交

public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8");
OkHttpClient client = new OkHttpClient();
String post(String url, String json) throws IOException {
     RequestBody body = RequestBody.create(JSON, json);
      Request request = new Request.Builder()
      .url(url)
      .post(body)
      .build();
//同步
      Response response = client.newCall(request).execute();
    f (response.isSuccessful()) {
        return response.body().string();
    } else {
        throw new IOException("Unexpected code " + response);
    }
}

1.2、FromBody---表单提交 这种能满足大部分的需求

romBody用于提交表单键值对,key-value,其作用类似于HTML中的<form>标记。比如username="LHX",age="21"等类似的键值对。

我们可以使用HashMap<String,String>这样的数据结构来存储接口所需参数的键值对,它的查找速度为O(1),很快,但是对于API接口参数来说,数据不会太多,查找快体现不出优势来,并且HashMap比较耗费内存。以下是使用hashmap的例子ÿ

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;