Как добавить запрос тела в url-адрес в котлине?

Вот мой код для запроса залпа: -

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)

Я хочу добавить эту информацию в раздел body

video_id = "BDJIAH", audio_quality = "256"

вот образец для добавления вышеуказанной информации в нижеследующий сегмент.

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

В принципе, я столкнулся с проблемой в разделе ByteArray. У меня это не работает.

1
0
775
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать метод toByteArray () класса String в Kotlin.

Например:

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)

Другие вопросы по теме