Использовать значение результата Mono из запроса БД в другом запросе - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу получить пользователя по его имени, назначить этого пользователя в качестве автора заметки и затем сохранить эту заметку в базе данных. Проблема в том, что у меня есть Mono с пользователем, и я не могу присвоить его полю автора типа user.

Что я пытаюсь сделать:

noteRepository
    .save(noteMapper
        .fromDTO(noteDTO)
        .apply { owner = userReository
            .findByUsername(userPrincipalService.getCurrentUserPrincipal()
                .map { it.username }) 
        })

1 Ответ

0 голосов
/ 01 мая 2019
userRepository
        // Find the User
        .findByUsername(userPrincipalService.getCurrentUserPrincipal()
                .map { it.username })
        // Map the User to a Note, while setting the note's owner 
        .map { user ->
            noteMapper.fromDTO(noteDTO).apply {
                owner = user
            }
        }
        // Save the Note 
        .flatMap { note -> noteRepository.save(note) }
...