Firebase Admin Java SDK - восстановление данных синхронизации базы данных - PullRequest
0 голосов
/ 20 марта 2019

Я использую:

  • Java (клиент / сервер)
  • Firebase Admin SDK (Сервер)
  • Spring Framework (Сервер)

Проблема:

Я пытаюсь разработать сервер на основе Spring Framework, который бы работал вместе со службами Firebase.

Я столкнулся с проблемой с базой данных. Нет проблем с отправкой запроса от клиента на сервер, который обновит точки данных. Однако есть один, когда я хочу получить его.

SDK Firebase обрабатывает эту задачу с помощью асинхронных методов, но мне нужно иметь возможность вернуть объект через Spring Framework.

Асинхронный код, который извлекает необходимые данные из БД:

DatabaseReference ref = db.getReference("users").child(uid);
ref.addValueEventListener(new ValueEventListener() {

    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        UserData data = dataSnapshot.getValue(UserData.class);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }

});

Контроллер на стороне сервера Spring Framework, который должен ответить (вернуть) клиенту с объектом:

 @RequestMapping(value = "/retrieve", method = RequestMethod.POST)
    public UserData retrieve_user_data(@RequestBody String uid) {

        // TODO: I need to retrieve the object from async method and return it here.
        return userData;

    }

Какие у меня есть варианты, которые решат мою проблему? Буду признателен за любой совет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...