如何在Kotlin的URL中添加正文请求?

时间:2018-09-13 18:09:04

标签: json kotlin android-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部分遇到问题。那对我不起作用。

1 个答案:

答案 0 :(得分:1)

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

例如:

user_info = lookup[user_id]

还尝试通过这种方式在请求正文中传递多个值:

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