我没有找到任何有关如何替换弃用方法的示例。 okhttp3 主页上的示例是旧的。这是其中之一:
public static final MediaType JSON = MediaType.get("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();
try (Response response = client.newCall(request).execute()) {
return response.body().string();
}
}
如果有人能解决它,我将不胜感激你的帮助。
更新:我正在使用 ‘com.squareup.okhttp3:okhttp:4.0.1’
原文由 Matías 发布,翻译遵循 CC BY-SA 4.0 许可协议
Java 解决方案: 例如,使用
create(String, MediaType)
而不是create(MediaType, String)
Kotlin解决方案: 使用扩展函数
content.toRequestBody(contentType)
;对于文件类型file.asRequestBody(contentType)
注意: 我正在使用 kotlin,但我的 IDE 不会自动导入类似
import okhttp3.RequestBody.Companion.toRequestBody
的类或方法,所以我手动导入它…然后将其用作 Saeed Younus 和 Pratyesh 给出的示例以下更多信息: 文档
(在 Android Studio 或任何 Jetbrain 的 IDE 中,只需按住 Ctrl 并单击
create(...)
的RequestBody.create
即可找到已弃用方法或类的解决方案)