/
ilgizok
/
MyLibService
Обзор
Документация
Войти
/
ilgizok
/
MyLibService
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
Test
src/main/java/com/example/mylib/controller/BookController.java
50 строк
2 KB
ilgiz
add
20 апр 2025, 01:03
20 апр 2025, 01:03
981190d
Код
Авторство
О чём код?
package com.example.mylib.controller; import com.example.mylib.dto.BookDetailsDTO; import com.example.mylib.entity.Book; import com.example.mylib.service.BookService; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.List; import java.util.Optional; @RestController @RequestMapping("/api/books") public class BookController { private final BookService bookService; public BookController(BookService bookService) { this.bookService = bookService; } @GetMapping("/{id}") public ResponseEntity<Book> getBookById(@PathVariable Integer id) { Optional<Book> book = bookService.findById(id); return book.map(ResponseEntity::ok) .orElseGet(() -> ResponseEntity.notFound().build()); } @GetMapping("/search") public ResponseEntity<List<Book>> searchBooks(@RequestParam String title) { return ResponseEntity.ok(bookService.searchByTitle(title)); } @GetMapping("/all") public ResponseEntity<List<Book>> getBooks() { return ResponseEntity.ok(bookService.getBooks()); } @PostMapping public ResponseEntity<Book> createBook(@RequestBody Book book) { return ResponseEntity.ok(bookService.saveBook(book)); } @GetMapping("/{id}/details") public ResponseEntity<BookDetailsDTO> getBookDetails(@PathVariable Integer id) { BookDetailsDTO bookDetails = bookService.getBookDetails(id); return ResponseEntity.ok(bookDetails); } }