Android: не получен ответ от POST Object / String Request.Тем не менее, Почтальон получает желаемый ответ - PullRequest
0 голосов
/ 10 октября 2018

Я разрабатываю систему регистрации / входа для пользователей (подписчиков) в WordPress через приложение для Android.Таким образом, проблема заключается в том, что в процессе регистрации при отправке запроса объекта (запроса строки) приложение действительно отправляет данные (параметры и заголовок) правильно, но прослушиватель ответа не получает ответ от сервера,поэтому я не могу двигаться вперед.Я должен сказать, что POSTMAN правильно получает ответ (Object).

Может кто-нибудь сказать мне, что неисправности?Я пытался решить эту проблему в течение нескольких дней, но все еще безрезультатно.

Ниже я приведу свой код и ответ, который получает Почтальон.Заранее спасибо.:)

RegisterActivity.java (Комментарий String, который имеет ту же проблему, прокомментирован)

открытый класс RegisterActivity расширяет AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);

    final EditText etUsername = (EditText) findViewById(R.id.etUsername);
    final EditText etEmail = (EditText) findViewById(R.id.etEmail);
    final EditText etPassword = (EditText) findViewById(R.id.etPassword);
    final Button bRegister = (Button) findViewById(R.id.bRegister);
    final String url = "https://MYURL.com/wp-json/wp/v2/users/";

    bRegister.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            final String username = etUsername.getText().toString();
            final String email = etEmail.getText().toString();
            final String password = etPassword.getText().toString();
            final String authorization = "Bearer BLABLA Authorization key";

            JSONObject params = new JSONObject();
            try {
                params.put("username", username);
            } catch (JSONException e) {
                e.printStackTrace();
            }
            try {
                params.put("email", email);
            } catch (JSONException e) {
                e.printStackTrace();
            }
            try {
                params.put("password", password);
            } catch (JSONException e) {
                e.printStackTrace();
            }

            JsonObjectRequest request = new JsonObjectRequest(Request.Method.POST, url, params, new Response.Listener<JSONObject>() {
                @Override
                public void onResponse(JSONObject response) {
                    try {
                        final String testtt = response.getString("username");
                        Toast.makeText(getApplicationContext(), testtt, Toast.LENGTH_LONG).show();
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    VolleyLog.d("Error1212.", error.getMessage());
                }
            }) {
                @Override
                public Map<String, String> getHeaders() throws AuthFailureError {
                    Map<String, String> header = new HashMap<>();
                    header.put("Authorization", authorization);
                    return header;
                }
            };

            /*StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    try {
                        JSONObject testResponse = new JSONObject(response);
                        Toast.makeText(getApplicationContext(), testResponse.getString("username"), Toast.LENGTH_LONG).show();
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                }
            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    VolleyLog.d("Error1212.", error.getMessage());
                }
            }){
                @Override
                public Map<String, String> getHeaders() throws AuthFailureError {
                    Map<String, String> header = new HashMap<>();
                    header.put("Authorization", authorization);
                    return header;
                }

                @Override
                protected Map<String, String> getParams() throws AuthFailureError {
                    Map<String, String> params = new HashMap<>();
                    params.put("username", username);
                    params.put("email", email);
                    params.put("password", password);
                    return params;
                }
            };*/

            RequestQueue requestQueue = Volley.newRequestQueue(RegisterActivity.this);
            requestQueue.add(request);
        }
    });

}

}

Почтальон Запрос и ответ я получаю Вот что происходит в моем Почтальоне

Как видите, Почтальон получает правильный ответОднако Android этого не делает, и выдает «Error1212», которое у меня есть выше (Response.ErrorListener ()).

Итак, я запрашиваю что-то неправильно?Я пытаюсь исправить это в течение нескольких дней, но решение не найдено.Еще раз спасибо.

...