Как я могу сделать запрос HTTP POST и и использовать Json Response, который я должен получить в Android - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь сделать http-запрос на вход в систему веб-службы.Я задаю запрос JSONobject следующим образом, но когда я пытаюсь отладить код, ответный JSON-объект оказывается пустым.(Я должен получить в ответ объект JSON).Любая идея?

 public UserData initLogin(Creds cr) {

    StringBuilder finalURL = new StringBuilder("https://");
    finalURL.append(credentials.getUrl());
    finalURL.append("/s1services");

    Response.Listener<JSONObject> r1 = new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            res = response.toString();
            us = gson.fromJson(String.valueOf(response), UserData.class);

        }
    };
    JsonObjectRequest req = new JsonObjectRequest(Request.Method.POST, finalURL.toString(), cr.serObj(), r1, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });






    return us;
}

я должен поместить этот запрос в очередь запросов или что-то?Следует отметить, что класс учетных данных имеет атрибут URL и метод getUrl ().

1 Ответ

0 голосов
/ 25 мая 2018

Я бы следовал примеру в документации для Android:

StringBuilder finalURL = new StringBuilder("https://");
finalURL.append(credentials.getUrl());
finalURL.append("/s1services");
String url = finalURL.toString();

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
    (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {

    @Override
    public void onResponse(JSONObject response) {
        //handle your json response here
        us = gson.fromJson(String.valueOf(response), UserData.class);
    }
  }, new Response.ErrorListener() {

  @Override
  public void onErrorResponse(VolleyError error) {
      // TODO: Handle error

  }
});

// Access the RequestQueue through your singleton class.
MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);

См .: https://developer.android.com/training/volley/request

...