Вы бы запрограммировали BookLibrary, когда пользователь может заимствовать несколько книг из библиотеки с помощью API Rest, ТОЛЬКО если он вводит правильный идентификатор книги, иначе выдается исключение BookNot Found
и если числоOfCopies> 0 приложение вычитает -1 из всех копий
@GetMapping(value = "/borrow/{id}",produces = MediaType.APPLICATION_JSON_VALUE)
public List<Book> borrowBook(@PathVariable Integer id){
Book bookOptional = bookRepo.findById(id).orElseThrow(()->new BookNotFoundException(id));
Integer numberOfCopies=bookOptional.getNumberOfCopies();
if(bookOptional.getNumberOfCopies() >0){
bookOptional.setNumberOfCopies(numberOfCopies-1);
bookRepo.save(bookOptional);
}
else{
throw new BookNotAvailableException();
}
List<Book> bookList = new ArrayList<>();
bookList.add(bookOptional);
return bookList;
}
Есть ли лучшие способы сделать это, как без оператора if?Также могу ли я вызвать исключение json BookNotAvailableException, отличное от «Белого списка весны»
спасибо.