Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2e4515d

Browse files
implementing deleteBookById (service, controller) and implement findBookById(UUID id) in repository
1 parent be829de commit 2e4515d

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

‎api-first-development-service/src/main/java/com/csaba79coder/apifirstdevelopment/controller/BookController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ public ResponseEntity<BookModel> addBook(NewBookModel body) {
2727

2828
@Override
2929
public ResponseEntity<Void> deleteBook(UUID bookId) {
30-
return null;
30+
bookService.deleteAnExistingBookById(bookId);
31+
return ResponseEntity.status(204).build();
3132
}
3233

3334
@Override

‎api-first-development-service/src/main/java/com/csaba79coder/apifirstdevelopment/persistence/BookRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@
44
import org.springframework.data.jpa.repository.JpaRepository;
55
import org.springframework.stereotype.Repository;
66

7+
import java.util.Optional;
78
import java.util.UUID;
89

910
@Repository
1011
public interface BookRepository extends JpaRepository<Book, UUID> {
12+
13+
Optional<Book> findBookById(UUID id);
1114
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,35 @@
11
package com.csaba79coder.apifirstdevelopment.service;
22

3+
import com.csaba79coder.apifirstdevelopment.entity.Book;
34
import com.csaba79coder.apifirstdevelopment.persistence.BookRepository;
5+
import com.csaba79coder.models.BookModel;
6+
import com.csaba79coder.models.NewBookModel;
47
import lombok.RequiredArgsConstructor;
8+
import lombok.extern.slf4j.Slf4j;
59
import org.springframework.stereotype.Service;
610

11+
import java.util.NoSuchElementException;
12+
import java.util.UUID;
13+
714
@Service
815
@RequiredArgsConstructor
16+
@Slf4j
917
public class BookService {
1018

1119
private final BookRepository bookRepository;
1220

21+
public BookModel addNewBook(NewBookModel newModel) {
22+
23+
return null;
24+
}
25+
26+
public void deleteAnExistingBookById(UUID id) {
27+
Book book = bookRepository.findBookById(id)
28+
.orElseThrow(() -> {
29+
String message = String.format("Book with id: %s was not found", id);
30+
log.info(message);
31+
return new NoSuchElementException(message);
32+
});
33+
bookRepository.delete(book);
34+
}
1335
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /