Coverage Summary for Class: BookController (cn.edu.ecnu.stu.bookstore.controller)

Class Class, % Method, % Line, %
BookController 100% (1/1) 100% (9/9) 68% (17/25)


 package cn.edu.ecnu.stu.bookstore.controller;
 
 import cn.edu.ecnu.stu.bookstore.component.AppException;
 import cn.edu.ecnu.stu.bookstore.component.Constants;
 import cn.edu.ecnu.stu.bookstore.component.Result;
 import cn.edu.ecnu.stu.bookstore.service.impl.BookService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 
 @RestController
 @RequestMapping("/book")
 public class BookController {
 
     @Autowired
     private BookService bookService;
 
     @GetMapping("/title")
     public Result getBookByTitle(@RequestParam("title") String title,
                                  @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
                                  @RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
         if(!StringUtils.hasText(title))
             throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
         return Result.success(bookService.getBookByTitle(title, null, pageNum, pageSize));
     }
 
     @GetMapping("/title_in_store")
     public Result getBookByTitleInStore(@RequestParam("title") String title,
                                  @RequestParam("storeId") String storeId,
                                  @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
                                  @RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
         if(!StringUtils.hasText(title))
             throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
         return Result.success(bookService.getBookByTitle(title, storeId, pageNum, pageSize));
     }
 
     @GetMapping("/author")
     public Result getBookByAuthor(@RequestParam("author") String author,
                                  @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
                                  @RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
         if(!StringUtils.hasText(author))
             throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
         return Result.success(bookService.getBookByAuthor(author, null, pageNum, pageSize));
     }
 
     @GetMapping("/author_in_store")
     public Result getBookByAuthorInStore(@RequestParam("author") String author,
                                         @RequestParam("storeId") String storeId,
                                         @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
                                         @RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
         if(!StringUtils.hasText(author))
             throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
         return Result.success(bookService.getBookByAuthor(author, storeId, pageNum, pageSize));
     }
 
     @GetMapping("/tag")
     public Result getBookByTag(@RequestParam("tag") String tag,
                                   @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
                                   @RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
         if(!StringUtils.hasText(tag))
             throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
         return Result.success(bookService.getBookByTag(tag, null, pageNum, pageSize));
     }
 
     @GetMapping("/tag_in_store")
     public Result getBookByTagInStore(@RequestParam("tag") String tag,
                                          @RequestParam("storeId") String storeId,
                                          @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
                                          @RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
         if(!StringUtils.hasText(tag))
             throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
         return Result.success(bookService.getBookByTag(tag, storeId, pageNum, pageSize));
     }
 
     @GetMapping("/content_in_store")
     public Result getBookByContentInStore(@RequestParam("content") String content,
                                       @RequestParam("storeId") String storeId,
                                       @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
                                       @RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
         if(!StringUtils.hasText(content))
             throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
         return Result.success(bookService.getBookByContent(content, storeId, pageNum, pageSize));
     }
 
     @GetMapping("/content")
     public Result getBookByContent(@RequestParam("content") String content,
                                           @RequestParam(value = "pageNum", required = false, defaultValue = "1") Integer pageNum,
                                           @RequestParam(value = "pageSize", required = false, defaultValue = "5") Integer pageSize) {
         if(!StringUtils.hasText(content))
             throw new AppException(Constants.CLIENT_ERROR, Constants.PARAMETER_ERROR_MESSAGE);
         return Result.success(bookService.getBookByContent(content, null, pageNum, pageSize));
     }
 }