当用户可以使用Rest Api从图书馆借书时,是否可以对BookLibrary进行编程? 仅当他输入正确的书ID时,才会引发BookNot Found异常
,如果numberOfCopies> 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语句?除了Spring的Whitelisting,我还可以抛出json BookNotAvailableException
谢谢。