春季启动JPA

时间:2019-09-25 10:14:20

标签: spring-data-jpa

当用户可以使用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

谢谢。

0 个答案:

没有答案