Отправить форму-кодированные параметры в запросе патча, используя залп в Android - PullRequest
0 голосов
/ 09 октября 2019

Я хочу отправить некоторые значения в параметрах, закодированных в форме на сервер, используя залп, и мой метод - patch , и сервер отправляет мне объект JSON, но он не работаетэто мой код: и эти значения работают правильно в почтальоне.

    JsonObjectRequest request = new JsonObjectRequest(Request.Method.PATCH,
            url,
            new Response.Listener<JSONObject>()
            {
                @Override
                public void onResponse(JSONObject response)
                {
                    Log.d("xsgcvzsc", response.toString());

                }
            },

            new Response.ErrorListener()
            {

                @Override
                public void onErrorResponse(VolleyError error)
                {
                    Log.d("vdfvxdfb", error.toString());
                    error.printStackTrace();
                }
            })
    {

        @Override
        public String getBodyContentType()
        {
            return "application/x-www-form-urlencoded; charset=UTF-8";
        }

        @Override
        protected Map<String, String> getParams() throws AuthFailureError
        {
            Map<String, String> params = new HashMap<String, String>();
            params.put("driverPhoneNumber", phoneNum);
            params.put("driverSmartNumber", smartNum);
            params.put("driverNationalCode", code);
            params.put("driverFullName", name);
            params.put("latitude", lat);
            params.put("longitude", lng);
            params.put("driverIbanNumber", sheba);
            params.put("avatar_url", null);
            params.put("driverFailureRate", null);
            params.put("driverActive", null);
            params.put("token", token);
            return params;
        }

    };

    final int socketTimeout = 100000;
    RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, 0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
    request.setRetryPolicy(policy);

    AppSingleton.getInstance(getApplicationContext()).addToRequestQueue(request);

, если он работает правильно, сервер ответит мне так:

{
"id": 49,
"driverPhoneNumber": "9152333333",
"driverSmartNumber": "",
"driverNationalCode": "",
"driverFullName": "hello",
"latitude": null,
"longitude": null,
"driverDebitNumber": "",
"driverIbanNumber": "",
"avatar_url": "/media/admin/img/icon-unknown.svg",
"driverFailureRate": 0,
"driverActive": false}
...