Как получить случайно сгенерированное значение json из Firebase, используя Spring Rest Template? - PullRequest
0 голосов
/ 29 сентября 2019

Я пытаюсь получить данные от firebase, используя RestAPI.Так что я интегрировался с Spring RestTemplate для получения данных GET.Мой json, как показано ниже

{
  "alanisawesome": {
    "city": "US",
    "name": "XYZ school"
  },
  "gracehop": {
    "city": "CA",
    "name": "ABC school"
  },
  "nextVal": {
    "city": "Mumbai",
    "name": "GHI School"
  }
}

Поскольку ключ Firebase (alanisawesome, gracehop, nextVal) создан автоматически с помощью firebase, я не могу получить его на основе ключа.

Мой код весенней загрузки:

return restTemplate
        .getForObject("https:<FIREBASE>.firebaseio.com/School.json",
            School.class);

Мой класс модели:

public class School {

  private String name;
  private String city;

// Getters and Setters

}

1 Ответ

0 голосов
/ 29 сентября 2019

Шаблон REST * метод 1002 * предназначен для использования с единичными объектами.Таким образом, вы можете использовать его, чтобы получить одну школу с:

restTemplate
    .getForObject("https:<FIREBASE>.firebaseio.com/School/alanisawesome.json", School.class);

Но ваш School.json содержит данные для нескольких школ с неизвестными ключами.Это означает, что вы не можете использовать getForObject с School.class напрямую.

В этом уроке есть раздел, посвященный использованию ParameterizedTypeReference или классу оболочки , что звучит многообещающе.Для вас это означает, что вам нужно либо использовать new ParameterizedTypeReference<List<School>>, либо создать класс SchoolList.

...