gpt4 book ai didi

java - Kotlin 中的 okhttp3 RequestBody

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:44:02 25 4
gpt4 key购买 nike

我想发送这样的请求正文:

我如何发送这个?我会把它作为一个类发送吗?

"email":{
"emailto":"foo@bar.com",
"emailfrom":"foo@bar.com",
"emailcc":"foo@bar.com",
"emailbcc":"foo@bar.com",
"emailsubject":"Subject",
"emailtag":"Information",
"emailtextbody":"---",
"attachments":[]
}

val formBody = FormBody.Builder()
.add("email", "Your message")
.build()

val request = Request.Builder()
.url(url)
.post(formBody)
.addHeader("_Token","")
.addHeader("Content-Type","application/json")
.build()

最佳答案

为了更清楚地了解上面给出的答案,这是您可以使用扩展功能的方式。

如果您正在使用 com.squareup.okhttp3:okhttp:4.0.1 创建 MediaTypeRequestBody 对象的旧方法有已弃用,不能在 Kotlin 中使用。

如果您想使用扩展函数从您的字符串中获取一个MediaType 对象和一个ResponseBody 对象,首先将以下行添加到您期望的类中使用它们。

import okhttp3.MediaType.Companion.toMediaType
import okhttp3.RequestBody.Companion.toRequestBody

您现在可以通过这种方式直接获取MediaType对象

val mediaType = "application/json; charset=utf-8".toMediaType()

要获取RequestBody 的对象,首先要将要发送的JSONObject 转换为字符串,这样。您必须将 mediaType 对象传递给它。

val requestBody = myJSONObject.toString().toRequestBody(mediaType)

关于java - Kotlin 中的 okhttp3 RequestBody,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48395067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com