【问题标题】:How to put header in url using volley in Kotlin?如何在 Kotlin 中使用 volley 将标题放在 url 中?
【发布时间】:2018-08-23 08:34:43
【问题描述】:

我的代码-

val accessTokenRequest: JsonObjectRequest = JsonObjectRequest(Request.Method.GET, url,
            Response.Listener { response ->
            },
            Response.ErrorListener { error ->
                Toast.makeText(activity,error.toString(), Toast.LENGTH_LONG).show()
            }
    )

    AppController.instance!!.addToRequestQueue(accessTokenRequest)

我想放的标题 - “搜索”& “授权”

【问题讨论】:

标签: kotlin android-volley kotlin-android-extensions kotlin-extension rx-kotlin


【解决方案1】:

尝试使用以下代码添加标题

val accessTokenRequest: JsonObjectRequest = object : JsonObjectRequest(
    Request.Method.GET, "", JSONObject(),
    Response.Listener<JSONObject?> {
        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
    }, Response.ErrorListener {
    TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
}) {
    @Throws(AuthFailureError::class)
    override fun getHeaders(): Map<String, String> {
        var params: MutableMap<String, String>? = super.getHeaders()
        if (params == null) params = HashMap()
        params["Authorization"] = "Your authorization"
        //..add other headers
        return params
    }
}

注意:要从 java 生成 kotlin 代码,请尝试使用 Ctrl + Shift + Alt + K 或简单地将其复制粘贴到 kotlin 文件中。

【讨论】:

  • 非常感谢,你让我开心。
  • 该代码导致 java.util.AbstractMap.put 出现错误 UnsupportedOperationException。删除 getHeaders() 中的前 2 行并立即实例化一个新地图 val params: MutableMap = HashMap()
猜你喜欢
  • 1970-01-01
  • 2020-08-22
  • 2021-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-24
相关资源
最近更新 更多