Как я должен POST данные с различными типами данных в одной хэш-карте, используя VOLLEY, или есть какой-то другой путь без использования hashmap в Android? - PullRequest
0 голосов
/ 30 июня 2019

Я пытаюсь отправить запрос POST по следующей ссылке api link api: https://fast -mountain-61109.herokuapp.com / api / movie , но я не смог отправить данные какиз полей 2 String, 1 int с использованием hashmap.Как я могу отправить эти данные на сервер с помощью залпа или есть какой-либо альтернативный способ, а не с использованием залпа.

requestQueue = Volley.newRequestQueue(this);
        String url = "https://fast-mountain-61109.herokuapp.com/api/movie";
        StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                Toast.makeText(PostMovie.this, "Movie Added", Toast.LENGTH_SHORT).show();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(PostMovie.this, "Error: " + error.getMessage(), Toast.LENGTH_SHORT).show();
                Log.d("PostMovie", "onErrorResponse: " + error);
            }
        }) {
            protected Map getParams() {
                Map<String, String> movie = new HashMap<>();
                movie.put("name", "Prince of Persia");
                movie.put("genres", "Action");
                movie.put("rating", "10");
                return movie;
            }

            @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                Map<String, String> params = new HashMap<String, String>();
                params.put("Content-Type", "application/json");
                params.put("x-auth-token", "MYJWTTOKENHERE");
                return params;
            }

        };
        requestQueue.add(stringRequest);

я получаю это по ошибке: onErrorResponse: com.android.volley.ClientError

...