Отключение ответа от сервера, чтобы получить то, что вам нужно - PullRequest
0 голосов
/ 31 мая 2018

Привет! Я успешно извлекаю данные из моей базы данных с помощью запроса GET.

В моей базе данных есть 3 поля - employeeId, employeeName, userPin.

Однако из моего приложения для Android, когда я получаюответное сообщение, которое я хотел бы видеть только userPin.

Вот мой код:

String url = "http://xxx.xx.xxx.xxx:7001/engAppApi/webservices/usersTable/"+ id;

            URL object = new URL(url);

            HttpURLConnection con = (HttpURLConnection) object.openConnection();
            con.setDoOutput(true);
            con.setDoInput(true);
            con.setRequestProperty("Content-Type", "application/json");
            con.setRequestProperty("Accept", "application/json");
            con.setRequestProperty("Authorization", "Bearer " +token);
            con.setRequestProperty
            con.setRequestMethod("GET");

            Log.d("responsecode", String.valueOf(con.getResponseCode()));
            Log.d("responsemessage", String.valueOf(con.getHeaderFields()));

            if (con.getResponseCode() == HttpsURLConnection.HTTP_OK || con.getResponseCode() == HttpsURLConnection.HTTP_ACCEPTED ) {
                String line;
                BufferedReader br=new BufferedReader(new InputStreamReader(con.getInputStream()));
                while ((line=br.readLine()) != null) {
                    userPinRetrieved+=line;
                }
            }

        } catch (Exception e) {
            Log.v("ErrorAPP", e.toString());
        }
        return "";
    }

РЕЗУЛЬТАТЫ ПОСТМАНА:

<?xml version="1.0" encoding="UTF-8"?>
<usersTable>
    <employeeId>2</employeeId>
    <employeeName>Tom Williams                  </employeeName>
    <userPin>666666</userPin>
</usersTable>

может кто-нибудь помочь мнеиз

1 Ответ

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

Я советую вам использовать дооснащение для Android, потому что будет легко разобрать только необходимые значения.Например, в моем проекте мне нужно получить статистику пользователей.Для этого я создаю Модель значений:

@SerializedName("user_stats")
@Expose
private List<MyStatsModel> myStats = null;

с помощью get метода

public List<MyStatsModel> getMyStats() {
    return myStats;
}

и легко делаю все, что хочу, используя эти значения в моем методе onResponse:

 @Override
        public void onResponse(Call<Model> call, Response<Model> response) {
            if(response.isSuccessful()) {
                    if(response.body().getMyStats() == null) {
                        emptyTextStats.setVisibility(View.VISIBLE);
                        statsRecyclerView.setVisibility(View.GONE);
                    }
                    else {
                        Log.d("tag", "stats response null" + MainActivity.getSid());
                        emptyTextStats.setVisibility(View.GONE);
                        statsRecyclerView.setVisibility(View.VISIBLE);
                        statsAdapter.updateStats(response.body().getMyStats());
                    }
                }
            }

Кроме того, этот сайт поможет вам разобрать JSON для объектов Model и java

...