Если вы разрабатываете библиотечное приложение, граждане могут брать и возвращать книги, как бы вы создавали его с точки зрения базы данных.
Я сделал это, я создал Книжный класс
@Entity
public class Book {
private Integer id;
private String title;
private Integer numberOfCopies;
, и когда пользователь отправляет запрос гражданину / заем / {id} (с идентификатором книги Переменная numberOfCopies добавляет один вверх или вниз
@GetMapping(path = "citizen/borrow/{id}", produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE})
public Book borrowBook(@PathVariable Integer id) {
Book book = bookRepo.findById(id).orElseThrow(() -> new BookNotFoundException(id));
Integer numberOfCopies = book.getNumberOfCopies();
if (numberOfCopies == 0) throw new BookNotAvailableException();
book.setNumberOfCopies(numberOfCopies - 1);
bookRepo.save(book);
return book;
}
как бы вы реализовали такое приложение? Это хороший стиль программирования или как вы думаете?