Ответ от Почтальона показывает 200, но Android возвращает 403 - PullRequest
0 голосов
/ 12 февраля 2019

Я пытался разработать приложение для Android с использованием Volley. API, с которым я общался, работает нормально, когда я проверил с помощью POSTMAN и получил 200.

Но когда я использую тот же API в своем приложении, он возвращает меня 403 "Запрещено" <p〉You don't have permission to access /API/checkPassOtp on this server.〈/p〉

Пожалуйста, найдите скриншот.
ScreeShot

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

Может кто-нибудь, пожалуйста, помогите мне.

Прикрепление кода залпа и ответ об ошибке

JSONObject jsonBody = new JSONObject();
try {
    jsonBody.put("otp", otp);
    Log.e("jsonBody", jsonBody.toString());
} catch (JSONException e) {
    e.printStackTrace();
}

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST, URL, jsonBody, new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {
        // handle response data
        VolleyHelper.progressDialog.dismiss();
        Log.e("onResponse", response.toString());

    }
}, new Response.ErrorListener() {

    @Override
    public void onErrorResponse(VolleyError error) {
        VolleyHelper.progressDialog.dismiss();
        Toast.makeText(getApplicationContext(),error.toString(),Toast.LENGTH_SHORT).show();
        Log.e("onErrorResponse", error.toString());

    }

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


jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 2, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Application.getInstance().addToRequestQueue(jsonObjReq, "app");
volleyHelper.showProgressDialogWithTitle(MainActivity.this);

Error response

1 Ответ

0 голосов
/ 12 февраля 2019

Попробуйте использовать

«Принять», «application / json»

в своих параметрах (используйте оба).

Мне нужно использовать x-api-key при подключении к веб-серверу моей компании, но я не уверен, понадобится ли он вам.

...