如何在 Kotlin 的 url 中添加 Body 请求?

How to add Body request in url in Kotlin?

这是我的 Volley 请求代码:-

val searchRequest = object : JsonArrayRequest(Request.Method.GET,url,
        Response.Listener { response ->

            val result = response.toString()


        },
        Response.ErrorListener { error ->
            Toast.makeText(activity, "Error!",Toast.LENGTH_LONG)
                    .show()
            Log.d("ERROR",error.toString())
        })
{
    override fun getBody(): ByteArray {

       //   TODO add Body, Header section works  //////////

        return super.getBody()
    }

    override fun getBodyContentType(): String {
        return "application/json"
    }


    override fun getHeaders() : Map<String,String> {
        val params: MutableMap<String, String> = HashMap()
        params["Search-String"] = songName
        params["Authorization"] = "Bearer ${accessTx.text}"
        return params
    }
}
AppController.instance!!.addToRequestQueue(searchRequest)

我想在正文部分添加此信息

video_id = "BDJIAH" , audio_quality = "256"

这是在下面的片段中添加以上信息的示例。

{ "video_id":"ABCDE", "audio_quality":"256" }

基本上,我在 ByteArray 部分遇到了问题。这对我不起作用。

您可以在 Kotlin 中使用 toByteArray() String class 方法。

例如:

val charset = Charsets.UTF_8
val byteArray = "SomeValue".toByteArray(charset)

也尝试在请求体中通过这种方式传递多个值:

val requestBody =  "video_id = "+"ABCDE"+ "& audio_quality ="+ "256"
val charset = Charsets.UTF_8
val byteArray = requestBody.toByteArray(charset)