Создание запроса залпа StringRequest с параметрами в Kotlin - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь создать 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и помещая в него точки останова, я вижу, что он никогда не вызывается.

...