阅读 1926

OkHttp4 RequestBody.create()弃用解决方案

OKhttp3已升级到Okhttp4 ,编写语言由java过渡到kotlin

okhttp3经常用到的post提交数据的,RequestBody.create() 已过时,并且换成了kotlin的新特性写法!

okhttp3 post请求的代码(4.0版本已过时) :

 val request:Request=Request.Builder() .post(RequestBody.create(MediaType.parse("application/json;charset=utf8"),         "body参数")).build() 复制代码

okhttp4 post最新请求的代码:

Kotlin版本

import okhttp3.MediaType.Companion.toMediaType import okhttp3.RequestBody.Companion.toRequestBody import okhttp3.RequestBody.Companion.asRequestBody //String转RequestBody String、ByteArray、ByteString都可以用toRequestBody() val stringBody ="body参数".toRequestBody("application/json;charset=utf-8".toMediaType())  val request:Request=Request                 .Builder()                 .post(stringBody)                 .build()                  //File转RequestBody val file=File("") val fileBody=file.asRequestBody("text/x-markdown; charset=utf-8".toMediaType()) val request = MultipartBody.Builder()                     .addFormDataPart("file", file.name,fileBody)                     .build() 复制代码

Java版本

 import okhttp3.MediaType.Companion.*; import okhttp3.RequestBody.Companion.*; //String转RequestBody String、ByteArray、ByteString都可以用toRequestBody()  MediaType mediaType=MediaType.Companion.parse("application/json;charset=utf-8");  RequestBody stringBody=RequestBody.Companion.create("body参数",mediaType);  Request request=new Request                 .Builder()                 .post(stringBody)                 .build();                  //File转RequestBody MediaType mediaType=MediaType.Companion.parse("text/x-markdown; charset=utf-8"); File file=new File(""); RequestBody fileBody=RequestBody.Companion.create(file,mediaType); Request request=new MultipartBody.Builder()                 .addFormDataPart("file", file.getName(),fileBody)                 .build();


作者:王阿觉
链接:https://juejin.cn/post/7031789764126867469


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐