Я пытаюсь создать Volley StringRequest, который включает в себя пользовательские параметры в Kotlin, но мой метод getParams не вызывается.
В конечном итоге я хочу выполнить запрос, эквивалентный следующему curlкоманда:
curl -X GET http://novaclean.test/api/home \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"api_token": "2ff52db35e359b02e83f8f45910f8386883c3190c3818d8fd6b6a4dec345"}'
Я написал свой запрос, переопределяющий getHeaders и getParams, но мой метод getParams никогда не вызывается, поэтому я не получаю ответ, который хочу (я получаю 401, который ожидается, если яне предоставляйте api_token моему бэкэнду)
Мой код:
val stringRequest = object: StringRequest(Request.Method.GET, "http://novaclean.test/api/home",
object: Response.Listener<String>{
override fun onResponse(response: String?) {
Log.d("Response",response)
}
},
object : Response.ErrorListener{
override fun onErrorResponse(error: VolleyError?) {
Log.d("Error",error.toString())
}
}){
override fun getHeaders(): Map<String, String> {
val headers = HashMap<String, String>()
headers.put("Content-Type", "application/json")
headers.put("Accept","application/json")
return headers
}
override fun getParams(): MutableMap<String, String> {
val params = HashMap<String, String>()
params["api_token"] = apiToken
return params
}
}
RequestQueueSingleton.getContextlessInstance().addToRequestQueue<String>(stringRequest)
Я ожидаю, что будет вызвана функция getParams () для передачи моего токена api моему запросу, но с использованием debugи помещая в него точки останова, я вижу, что он никогда не вызывается.