Как отправить JSONObject на сервер в виде данных формы, используя Volley - PullRequest
0 голосов
/ 22 января 2019

Я собираюсь отправить JsonObjectRequest на сервер в виде данных формы, используя библиотеку залпа. Я проверил похожие вопросы. Ни один из них не покрывает мою проблему.

Это Почтальон Скриншот точного запроса, который мне нужен:

Postman

Это мой JSONObject с именем myKey, который содержит JSONArray:

{
 "myArray":[
    {
    "code":"FA95",
    "id":"94"
    }
 ]
}

и это мой метод запроса:

public static void getSomething(String url) {

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, null, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {

        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    }) {
        @Override
        public byte[] getBody() {
            return super.getBody();
        }
    };

    request.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    AppController.getInstance().addToRequestQueue(request);
}

Должен ли я переопределить getBody() или нет? и что именно должно возвращать?

1 Ответ

0 голосов
/ 22 января 2019

Вот ответ: https://stackoverflow.com/a/39718240/3024933

Вам необходимо переопределить метод getParams() и использовать StringRequest вместо JsonObjectRequest.

...