【发布时间】:2021-03-15 16:43:52
【问题描述】:
我正在尝试按类别显示书籍列表。
Category.java
public enum Category {
NEW,
CLASSIC,
STANDARD;
}
BookDto.java
public class BookDto {
private Long id;
private String title;
private String author;
private String publisher;
private Category category;
private int totalCount;
}
RentController.java
@GetMapping("/booksCategory")
public List<BookDto> getBookByCategory(@RequestParam Category category) {
return rentService.getBookByCategory(category);
}
RentService.java
public List<BookDto> getBookByCategory(Category category) {
List<Book> book = bookRepository.findAllBookByCategory(category);
return mapBookListToBooDtoList(book);
}
BookRepository.java
public interface BookRepository extends JpaRepository<Book, Long> {
@Query("select count(b) from Book b")
List<Book> findAllBookByCategory(Category category);
}
从上面的代码我得到以下错误:
Required Category parameter 'category' is not present
【问题讨论】:
-
旁注:考虑不要在 REST API 中混合资源(租金、书籍、书籍类别)(/booksCategory 在 RentController 中返回 BookDto)
-
是的,我应该把它放在 BookController 和 BookService 中
标签: java spring-boot enums