Как поместить заголовок в URL-адрес, используя залп в Котлине?

Мой код-

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)

Заголовок, который я хочу поставить - "Поиск" и "Авторизация"


person shivam Kapoor    schedule 23.08.2018    source источник
comment
Возможный дубликат Добавить пользовательские заголовки в запрос залпа   -  person user2340612    schedule 23.08.2018


Ответы (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
    }
}

Примечание. Чтобы сгенерировать код kotlin из java, попробуйте использовать Ctrl + Shift + Alt + K или просто скопируйте и вставьте его в файл kotlin.

person Abilash    schedule 23.08.2018
comment
Большое спасибо, вы сделали мой день. - person shivam Kapoor; 23.08.2018
comment
Этот код приводит к ошибке UnsupportedOperationException в java.util.AbstractMap.put. удалите первые 2 строки в getHeaders() и сразу же создайте новую карту val params: MutableMap‹String, String› = HashMap() - person chitgoks; 07.07.2019