-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
[FIX] 윤한이형 피드백 반영
- Loading branch information
Showing
28 changed files
with
362 additions
and
401 deletions.
There are no files selected for viewing
46 changes: 46 additions & 0 deletions
46
src/main/java/org/sopt/lequuServer/domain/book/controller/BookApi.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package org.sopt.lequuServer.domain.book.controller; | ||
|
||
import io.swagger.v3.oas.annotations.Operation; | ||
import io.swagger.v3.oas.annotations.media.Content; | ||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import io.swagger.v3.oas.annotations.security.SecurityRequirement; | ||
import io.swagger.v3.oas.annotations.tags.Tag; | ||
import jakarta.validation.Valid; | ||
import org.sopt.lequuServer.domain.book.dto.request.BookCreateRequestDto; | ||
import org.sopt.lequuServer.domain.book.dto.response.BookCreateResponseDto; | ||
import org.sopt.lequuServer.domain.book.dto.response.BookDetailResponseDto; | ||
import org.sopt.lequuServer.global.common.dto.ApiResponse; | ||
import org.springframework.http.ResponseEntity; | ||
import org.springframework.web.bind.annotation.PathVariable; | ||
import org.springframework.web.bind.annotation.RequestBody; | ||
|
||
import java.security.Principal; | ||
|
||
@Tag(name = "Book", description = "레큐북 API") | ||
public interface BookApi { | ||
|
||
@SecurityRequirement(name = "JWT Authorization") | ||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "201", | ||
description = "레큐북이 성공적으로 생성됐습니다.", | ||
content = @Content(schema = @Schema(implementation = BookCreateResponseDto.class)) | ||
) | ||
@Operation(summary = "레큐북 생성") | ||
public ResponseEntity<ApiResponse<BookCreateResponseDto>> createBook(@Valid @RequestBody BookCreateRequestDto request, Principal principal); | ||
|
||
@SecurityRequirement(name = "JWT Authorization") | ||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "204", | ||
description = "레큐북을 성공적으로 삭제했습니다." | ||
) | ||
@Operation(summary = "레큐북 삭제") | ||
public ResponseEntity<?> deleteBook(@Schema(example = "1") @PathVariable Long bookId); | ||
|
||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "200", | ||
description = "레큐북 상세 조회에 성공했습니다.", | ||
content = @Content(schema = @Schema(implementation = BookDetailResponseDto.class)) | ||
) | ||
@Operation(summary = "레큐북 상세 조회") | ||
public ResponseEntity<ApiResponse<BookDetailResponseDto>> getBookDetail(@Schema(example = "ee4f66f9-9cf4-4b28-90f4-f71d0ecba021") @PathVariable String bookUuid); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
37 changes: 37 additions & 0 deletions
37
src/main/java/org/sopt/lequuServer/domain/common/controller/CommonApi.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
package org.sopt.lequuServer.domain.common.controller; | ||
|
||
import io.swagger.v3.oas.annotations.Hidden; | ||
import io.swagger.v3.oas.annotations.Operation; | ||
import io.swagger.v3.oas.annotations.media.ArraySchema; | ||
import io.swagger.v3.oas.annotations.media.Content; | ||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import io.swagger.v3.oas.annotations.tags.Tag; | ||
import org.sopt.lequuServer.domain.common.dto.response.PopularBookResponseDto; | ||
import org.sopt.lequuServer.domain.common.dto.response.SplashDto; | ||
import org.sopt.lequuServer.global.common.dto.ApiResponse; | ||
import org.springframework.http.ResponseEntity; | ||
|
||
import java.util.List; | ||
|
||
@Tag(name = "Common", description = "홈 & 스플래시 API") | ||
public interface CommonApi { | ||
|
||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "200", | ||
description = "스플래시 조회에 성공했습니다.", | ||
content = @Content(schema = @Schema(implementation = SplashDto.class)) | ||
) | ||
@Operation(summary = "스플래시 조회") | ||
public ResponseEntity<ApiResponse<SplashDto>> getSplash(); | ||
|
||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "200", | ||
description = "홈 화면 조회에 성공했습니다.", | ||
content = @Content(array = @ArraySchema(schema = @Schema(implementation = PopularBookResponseDto.class))) | ||
) | ||
@Operation(summary = "홈 조회") | ||
public ResponseEntity<ApiResponse<List<PopularBookResponseDto>>> getHome(); | ||
|
||
@Hidden | ||
public ResponseEntity<ApiResponse<?>> test(); | ||
} |
39 changes: 7 additions & 32 deletions
39
src/main/java/org/sopt/lequuServer/domain/common/controller/CommonController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
94 changes: 94 additions & 0 deletions
94
src/main/java/org/sopt/lequuServer/domain/member/controller/MemberApi.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
package org.sopt.lequuServer.domain.member.controller; | ||
|
||
import io.swagger.v3.oas.annotations.Operation; | ||
import io.swagger.v3.oas.annotations.media.Content; | ||
import io.swagger.v3.oas.annotations.media.Schema; | ||
import io.swagger.v3.oas.annotations.security.SecurityRequirement; | ||
import io.swagger.v3.oas.annotations.tags.Tag; | ||
import jakarta.validation.Valid; | ||
import org.sopt.lequuServer.domain.member.dto.request.MemberNicknameRequestDto; | ||
import org.sopt.lequuServer.domain.member.dto.request.SocialLoginRequestDto; | ||
import org.sopt.lequuServer.domain.member.dto.response.MemberLoginResponseDto; | ||
import org.sopt.lequuServer.domain.member.dto.response.MemberNicknameResponseDto; | ||
import org.sopt.lequuServer.domain.member.dto.response.MypageBookResponseDto; | ||
import org.sopt.lequuServer.domain.member.dto.response.MypageNoteResponseDto; | ||
import org.sopt.lequuServer.global.auth.jwt.TokenDto; | ||
import org.sopt.lequuServer.global.common.dto.ApiResponse; | ||
import org.springframework.http.ResponseEntity; | ||
import org.springframework.web.bind.annotation.RequestBody; | ||
import org.springframework.web.bind.annotation.RequestHeader; | ||
|
||
import java.security.Principal; | ||
|
||
@Tag(name = "Member", description = "마이페이지 & 로그인 관련 API") | ||
public interface MemberApi { | ||
|
||
@SecurityRequirement(name = "KAKAO Token") | ||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "200", | ||
description = "로그인에 성공했습니다.", | ||
content = @Content(schema = @Schema(implementation = MemberLoginResponseDto.class)) | ||
) | ||
@Operation(summary = "로그인 + 회원가입") | ||
public ResponseEntity<ApiResponse<MemberLoginResponseDto>> login( | ||
@Schema(description = "카카오 Access 토큰 (아래 박스에는 아무거나 입력)", example = "ZC57anP1qo58PNNJhKG1MBz9BImWMWih65gKPXKYAAABjQkwKSIh5oEAb4_jFQ") | ||
@RequestHeader("Authorization") String socialAccessToken, | ||
@RequestBody SocialLoginRequestDto request); | ||
|
||
|
||
@SecurityRequirement(name = "JWT Authorization") | ||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "200", | ||
description = "Access 토큰 재발급에 성공했습니다.", | ||
content = @Content(schema = @Schema(implementation = TokenDto.class)) | ||
) | ||
@Operation(summary = "엑세스 토큰 재발급") | ||
public ResponseEntity<ApiResponse<TokenDto>> reissue( | ||
@Schema(description = "Refresh 토큰 (아래 박스에는 아무거나 입력)", example = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJpYXQiOjE3MDUyNTc0MDMsImV4cCI6MTc2ODMyOTQwMywibWVtYmVySWQiOjF9.qKP6AZc9EnA_6DLXJGHzURcJXlER8-mvUnPppEVCGfW4iyQGMS0ZT3f09K0khZBtEXHgMuyKy1m4K-GtSKtRAg") | ||
@RequestHeader("Authorization") String refreshToken); | ||
|
||
@SecurityRequirement(name = "JWT Authorization") | ||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "200", | ||
description = "로그아웃에 성공했습니다." | ||
) | ||
@Operation(summary = "로그아웃") | ||
public ResponseEntity<ApiResponse<?>> logout(Principal principal); | ||
|
||
@SecurityRequirement(name = "KAKAO Token") | ||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "200", | ||
description = "카카오 엑세스 토큰을 가져오는데 성공했습니다." | ||
) | ||
@Operation(summary = "카카오 엑세스 토큰 발급") | ||
public ResponseEntity<ApiResponse<?>> kakaoAccessToken( | ||
@Schema(description = "카카오 Authorization 코드 (아래 박스에는 아무거나 입력)", example = "u13t6n_uzDy3VbtRhvmtiOHIVioVMvFPTrrEK_lDgmd7-bY0GMD8FAi8TzUKPXNNAAABjQkwFpiSBpCp5rpDbg") | ||
@RequestHeader("Authorization") String code); | ||
|
||
@SecurityRequirement(name = "JWT Authorization") | ||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "200", | ||
description = "유저 닉네임을 설정하여 회원가입에 성공했습니다.", | ||
content = @Content(schema = @Schema(implementation = MemberNicknameResponseDto.class)) | ||
) | ||
@Operation(summary = "유저 닉네임 설정") | ||
public ResponseEntity<ApiResponse<MemberNicknameResponseDto>> setMemberNickname(Principal principal, @Valid @RequestBody MemberNicknameRequestDto request); | ||
|
||
@SecurityRequirement(name = "JWT Authorization") | ||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "200", | ||
description = "마이페이지의 유저 닉네임과 내 레큐북 조회에 성공했습니다.", | ||
content = @Content(schema = @Schema(implementation = MypageBookResponseDto.class)) | ||
) | ||
@Operation(summary = "마이페이지 레큐북 조회") | ||
public ResponseEntity<ApiResponse<MypageBookResponseDto>> getMypageBook(Principal principal); | ||
|
||
@SecurityRequirement(name = "JWT Authorization") | ||
@io.swagger.v3.oas.annotations.responses.ApiResponse( | ||
responseCode = "200", | ||
description = "마이페이지의 유저 닉네임과 내 레큐노트 조회에 성공했습니다.", | ||
content = @Content(schema = @Schema(implementation = MypageNoteResponseDto.class)) | ||
) | ||
@Operation(summary = "마이페이지 레큐노트 조회") | ||
public ResponseEntity<ApiResponse<MypageNoteResponseDto>> getMypageNote(Principal principal); | ||
} |
Oops, something went wrong.