Использование Mono <T>весной для заполнения объекта Cloud Firestore - PullRequest
1 голос
/ 28 января 2020

Я использую spring-cloud-gcp-starter-data-firestore для доступа к Google Cloud Firestore в моем приложении Java Spring.

В настоящее время моя сущность выглядит следующим образом:

public class Subscription {

    public String userId;
    public String companyId;

    // other properties

}

Однако я получаю userId и companyId через reactor.core.publisher.Mono в org.springframework.security.core.context.ReactiveSecurityContextHolder.

Как я могу сохранить оба свойства, вложенные в Mono s, не прибегая к Mono#block?

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Я предлагаю следовать учебнику в Google codelab .

Здесь вы можете обнаружить, что Firestore может находиться в режиме хранилища данных, что делает предыдущий учебник подходящим для вас. .

0 голосов
/ 28 января 2020

Я сейчас использую Mono#zipWith для объединения обоих Mono с. Затем я создаю сущность внутри Mono#flatMap.

service.getCompanyId()
   .zipWith(service.getUserId())
   .flatMap(objects -> createEntity(objects.getT1(), objects.getT2()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...