-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FIX] 윤한이형 피드백 반영 #67
Merged
Merged
Changes from all commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
3a2eac1
🐛 [FIX] CustomException 로그 안찍히게 변경
ddongseop 75c1224
♻️ [REFACTOR] 스웨거를 인터페이스로 분리 #65
ddongseop b97c661
♻️ [REFACTOR] 필드 명에서 List 삭제 #65
ddongseop 5fd1ee4
♻️ [REFACTOR] ResponseEntity로 변경 #65
ddongseop 82b2c10
♻️ [REFACTOR] TestController 삭제 #65
ddongseop 57b1fc0
♻️ [REFACTOR] dto명 request로 통일 #65
ddongseop 100916c
Merge branch 'develop' into fix/#65-apply_unan_feedback
ddongseop 323a88b
:rocket: [DEPLOY] test
ddongseop 9576c59
:rocket: [DEPLOY] test
ddongseop File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오호 이렇게 API를 분리하는군요~ 신기하네요!