Отправка данных формы в запросе на залповый пост - PullRequest
0 голосов
/ 20 сентября 2018

Ответ почтальона выглядит следующим образом:

This is the postman request out of which i a, getting the perfect response

Этот код я использую для отправки данных в запросе на публикацию.Хотя я получаю код ответа 400 от этого.

            StringRequest stringRequest = new StringRequest(Request.Method.POST,
                    API.ADD_PAYMENT,
                    new Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {
                            progressDialog.dismiss();
                            onBackPressed();
                        }
                    },
                    new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            progressDialog.dismiss();
                            Toast.makeText(AddPaymentActivity.this, error.getMessage(), Toast.LENGTH_SHORT).show();
                        }
                    }){
                @Override
                protected Map<String, String> getParams() throws AuthFailureError {
                    Map<String, String> params = new HashMap<>();
                    params.put("amount", "123");
                    params.put("description", "Not Paid");
                    params.put("customer", "1");
                    return params;
                }

                @Override
                public Map<String, String> getHeaders() throws AuthFailureError {
                    Map<String, String> headers = new HashMap<>();
                    headers.put("Content-Type", "application/json; charset=UTF-8");
                    headers.put("Authorization", "token 0ee1248c5a84e8b1e36a8a15da48c0bb7580926c");
                    return headers;
                }
            };
            RequestQueue requestQueue = Volley.newRequestQueue(AddPaymentActivity.this);
            requestQueue.add(stringRequest);

1 Ответ

0 голосов
/ 20 сентября 2018

Прежде всего, почему бы вам не использовать JsonObjectRequest вместо StringRequest, когда вы используете application/json в качестве языка общения с сервером?Во-вторых, вы пытались передать свои параметры другому конструктору запросов, как показано ниже?

Map<String, Object> params = new HashMap<>();
params.put("amount", 123);
params.put("description", "Not Paid");
params.put("customer", 1);
JsonObjectRequest jor = new JsonObjectRequest(Request.Method.POST, API.ADD_PAYMENT, new JSONObject(params), new Response.Listener<JSONObject>() {
...

Передача ваших заголовков необходима, поэтому остальная часть кода остается такой, как есть.

...