Okhttp3 Requestbody create() 伴侣已弃用。令人困惑的文档

Posted

技术标签:

【中文标题】Okhttp3 Requestbody create() 伴侣已弃用。令人困惑的文档【英文标题】:Okhttp3 Requestbody create() companion deprecated. Docs confusing 【发布时间】:2020-05-31 02:50:06 【问题描述】:

我有一个从 github repo 借来的 glide 模块。 IDE 说 create() 函数已被弃用。但对我来说,okhttp 文档似乎令人困惑。谁能帮忙把这个改成有效的。

@GlideModule
class AppGlideModule : AppGlideModule()
const val MULTIPART_MEDIA_TYPE = "multipart/form-data"
const val IMAGE_MEDIA_TYPE = "image/*"
fun createRequestBody(s: String, type: String? = MULTIPART_MEDIA_TYPE): RequestBody 
    return RequestBody.create(MediaType.parse(type), s)
    

提前致谢

【问题讨论】:

【参考方案1】:

试试这个:

fun createRequestBody(s: String, type: String? = MULTIPART_MEDIA_TYPE): RequestBody 
    return s.toRequestBody.create(MediaType.parse(type))

【讨论】:

我用过这个。 return s.toRequestBody(MediaType.parse(type!!)) IDE 说 'parse(String):Mediatype?' 是一个错误 该错误的快速修复是否建议更换?【参考方案2】:

试试下面

val fileName = s.toRequestBody("multipart/form-data".toMediaTypeOrNull())

您可以根据要求使用媒体类型,因为我使用的是“multipart/form-data”。

【讨论】:

以上是关于Okhttp3 Requestbody create() 伴侣已弃用。令人困惑的文档的主要内容,如果未能解决你的问题,请参考以下文章

无法解析方法'create(okhttp3.MediaType, java.util.List<java.lang.String>)'

(09)ElasticSearch 使用Bulk实现批量操作

okhttp3使用

从 Android N (--min-api 24) 开始支持:okhttp3.Request okhttp3.Authenticator

Java封装OkHttp3工具类

Picasso:设置旧版本的 OkHttp3