Параметру 0 конструктора в org.codefinity.com.codefinity.firstrestapibooks.controller.BookController требуется компонент типа «org.codefinity.com.codefinity.firstrestapibooks.service.BookService», который не найден
Вот мой класс контроллера книги
Код: Выделить всё
package org.codefinity.com.codefinity.firstrestapibooks.controller;
import lombok.AllArgsConstructor;
import org.codefinity.com.codefinity.firstrestapibooks.DTO.BookRequestDTO;
import org.codefinity.com.codefinity.firstrestapibooks.DTO.BookResponseDTO;
import org.codefinity.com.codefinity.firstrestapibooks.model.Book;
import org.codefinity.com.codefinity.firstrestapibooks.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Controller
@RequestMapping("/books")
public class BookController {
@Autowired
private final BookService bookService;
public BookController(BookService bookService){
this.bookService = bookService;
}
@GetMapping
public List findAllBooks(){
return bookService.findAllBooks();
}
@PostMapping
public BookResponseDTO createBook(@RequestBody BookRequestDTO book){
return bookService.createBook(book);
}
@PutMapping("/{id}")
public BookResponseDTO updateBook(@PathVariable String id, @RequestBody BookRequestDTO book){
return bookService.updateBook(id, book);
}
@DeleteMapping("/{id}")
public void deleteBook(@PathVariable String id){
bookService.deleteBook(id);
}
}
Код: Выделить всё
package org.codefinity.com.codefinity.firstrestapibooks.service;
import lombok.AllArgsConstructor;
import org.codefinity.com.codefinity.firstrestapibooks.DTO.BookRequestDTO;
import org.codefinity.com.codefinity.firstrestapibooks.DTO.BookResponseDTO;
import org.codefinity.com.codefinity.firstrestapibooks.DTO.MapperBook;
import org.codefinity.com.codefinity.firstrestapibooks.model.Book;
import org.codefinity.com.codefinity.firstrestapibooks.repository.BookRepository;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class BookServiceImpl {
private final BookRepository bookRepository;
public BookServiceImpl(BookRepository bookRepository){
this.bookRepository = bookRepository;
}
List findAllBooks() {
return bookRepository.getAllBooks().stream()
.map(MapperBook::modelToRespondDto)
.toList();
}
public BookResponseDTO createBook(BookRequestDTO book) {
Book modelBook = MapperBook.dtoRequestoModel(book);
Book repositoryBook = bookRepository.addBook(modelBook);
return MapperBook.modelToRespondDto(repositoryBook);
}
public BookResponseDTO updateBook(String id, BookRequestDTO book) {
Book modelBook = MapperBook.dtoRequestoModel(book);
Book repositoryBook = bookRepository.updateBook(id, modelBook);
return MapperBook.modelToRespondDto(repositoryBook);
}
public void deleteBook(String id) {
bookRepository.deleteBook(id);
}
}
Код: Выделить всё
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
org.springframework.boot
spring-boot-starter-parent
4.0.6
org.codefinity
first-rest-api-books
0.0.1-SNAPSHOT
com.codefinity.firstrestapiooks
com.codefinity.firstrestapiooks
25
org.springframework.boot
spring-boot-starter-webmvc
4.1.0-RC1
compile
org.springframework.boot
spring-boot-starter-data-jpa
4.1.0-RC1
compile
org.springframework.boot
spring-boot-starter-webmvc-test
4.1.0-RC1
test
org.modelmapper
modelmapper
3.2.6
compile
org.projectlombok
lombok
1.18.46
compile
org.springframework.boot
spring-boot-maven-plugin
Мобильная версия