/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/java/java-503-22-021/main.java
44 строки
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
import org.springframework.stereotype.Service; import reactor.core.publisher.Mono; @Service public class ReactiveBookService { private final ReactiveBookRepository bookRepository; public ReactiveBookService(ReactiveBookRepository bookRepository) { this.bookRepository = bookRepository; } public Mono<Book> createBook(String title, String author, String isbn, Integer year) { Book book = new Book(title, author, isbn, year); return bookRepository.save(book); } public Mono<Book> getBook(Long id) { return bookRepository.findById(id); } public Flux<Book> getAvailableBooks() { return bookRepository.findByAvailable(true); } public Flux<ReactiveBookRepository.BookPreview> getRecentPreviews() { return bookRepository.findRecentPreviews(); } public Mono<Void> markAsUnavailable(Long id) { return bookRepository.findById(id) .flatMap(book -> { Book updated = new Book( book.id(), book.title(), book.author(), book.isbn(), book.publishedYear(), false ); return bookRepository.save(updated).then(); }); } }