当使用下面的代码时会提示 RequestBody.create() 已过时。

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

如下图:
在这里插入图片描述

解决办法:

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();

如下图:
在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐