Class StorybookController
java.lang.Object
inha.dayoook_e.storybook.api.controller.StorybookController
@RestController
@RequestMapping("/api/v1/storybooks")
public class StorybookController
extends Object
StorybookController은 동화 관련 엔드포인트를 처리.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncompleteStorybook
(User user, Integer storybookId) 동화 완료 APIcreateStorybook
(User user, CreateStorybookRequest createStorybookRequest, org.springframework.web.multipart.MultipartFile thumbnail, List<org.springframework.web.multipart.MultipartFile> pageImages) 동화 생성 APIgetStorybook
(User user, Integer pageNumber, Integer storybookId) 동화 상세 조회 APIBaseResponse<org.springframework.data.domain.Slice<StorybookSearchPageResponse>>
getStorybooks
(User user, SearchCond searchCond, Integer page) 동화 조회 APItoggleLike
(User user, Integer storybookId) 동화 좋아요 토글 APIupdateLastReadPage
(User user, Integer storybookId, Integer pageNumber) 마지막 읽은 페이지 업데이트 API
-
Constructor Details
-
StorybookController
public StorybookController()
-
-
Method Details
-
getStorybooks
@GetMapping public BaseResponse<org.springframework.data.domain.Slice<StorybookSearchPageResponse>> getStorybooks(@AuthenticationPrincipal User user, @Validated @ModelAttribute SearchCond searchCond, @RequestParam("page") Integer page) 동화 조회 API동화를 조회합니다.
- Parameters:
searchCond
- 검색 조건page
- 페이지 번호- Returns:
- 동화 조회 결과를 포함하는 BaseResponse<Slice
>
-
getStorybook
@GetMapping("/{storybookId}") public BaseResponse<StorybookSearchResponse> getStorybook(@AuthenticationPrincipal User user, @RequestParam("pageNumber") Integer pageNumber, @PathVariable("storybookId") Integer storybookId) 동화 상세 조회 API동화를 상세 조회합니다.
- Parameters:
user
- 로그인한 사용자pageNumber
- 페이지 번호storybookId
- 동화 id- Returns:
- 동화 상세 조회 결과를 포함하는 BaseResponse
-
createStorybook
@PostMapping(consumes="multipart/form-data") @PreAuthorize("hasRole(\'ROLE_ADMIN\')") public BaseResponse<StorybookResponse> createStorybook(@AuthenticationPrincipal User user, @Validated @RequestPart("storybook") CreateStorybookRequest createStorybookRequest, @RequestPart("thumbnail") org.springframework.web.multipart.MultipartFile thumbnail, @RequestPart("pages") List<org.springframework.web.multipart.MultipartFile> pageImages) 동화 생성 API동화를 생성합니다.
- Parameters:
user
- 로그인한 사용자createStorybookRequest
- 동화 생성 요청thumbnail
- 썸네일 이미지pageImages
- 페이지 이미지 리스트- Returns:
- 동화 생성 결과를 포함하는 BaseResponse
-
toggleLike
@PostMapping("/{storybookId}/toggle-like") public BaseResponse<LikedTuteeStorybookProgressResponse> toggleLike(@AuthenticationPrincipal User user, @PathVariable("storybookId") Integer storybookId) 동화 좋아요 토글 API좋아요를 토글합니다.
- Parameters:
user
- 로그인한 사용자storybookId
- 동화 id- Returns:
- 좋아요 토글 결과를 포함하는 BaseResponse
-
completeStorybook
@PostMapping("/{storybookId}/complete") public BaseResponse<StorybookResponse> completeStorybook(@AuthenticationPrincipal User user, @PathVariable("storybookId") Integer storybookId) 동화 완료 API동화 듣는 것을 완료합니다.
- Parameters:
user
- 로그인한 사용자storybookId
- 동화 id- Returns:
- 동화 완료 결과를 포함하는 BaseResponse
-
updateLastReadPage
@PostMapping("/{storybookId}/last-read-page") public BaseResponse<LastReadPageStorybookResponse> updateLastReadPage(@AuthenticationPrincipal User user, @PathVariable("storybookId") Integer storybookId, @RequestParam("pageNumber") Integer pageNumber) 마지막 읽은 페이지 업데이트 API동화의 마지막으로 읽은 페이지 번호를 업데이트합니다.
- Parameters:
user
- 로그인한 사용자storybookId
- 동화 idpageNumber
- 페이지 번호- Returns:
- 마지막 읽은 페이지 업데이트 결과를 포함하는 BaseResponse
-