【问题标题】:How to add Body request in url in Kotlin?如何在 Kotlin 的 url 中添加 Body 请求?
【发布时间】:2018-09-13 18:09:03
【问题描述】:

这是我的排球请求代码:-

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 部分遇到问题。这对我不起作用。

【问题讨论】:

    标签: json kotlin android-volley


    【解决方案1】:

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

    例如:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-09
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 2021-07-23
      • 1970-01-01
      • 1970-01-01
      • 2022-07-07
      相关资源
      最近更新 更多