diff --git a/src/main/java/roomescape/auth/docs/AuthAPI.kt b/src/main/java/roomescape/auth/docs/AuthAPI.kt index c0ef2516..a6e8fbcc 100644 --- a/src/main/java/roomescape/auth/docs/AuthAPI.kt +++ b/src/main/java/roomescape/auth/docs/AuthAPI.kt @@ -2,13 +2,9 @@ package roomescape.auth.docs import io.swagger.v3.oas.annotations.Operation import io.swagger.v3.oas.annotations.Parameter -import io.swagger.v3.oas.annotations.media.Content -import io.swagger.v3.oas.annotations.media.Schema import io.swagger.v3.oas.annotations.responses.ApiResponse import io.swagger.v3.oas.annotations.responses.ApiResponses import io.swagger.v3.oas.annotations.tags.Tag -import jakarta.servlet.http.HttpServletRequest -import jakarta.servlet.http.HttpServletResponse import jakarta.validation.Valid import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.RequestBody @@ -16,19 +12,13 @@ import roomescape.auth.web.LoginCheckResponse import roomescape.auth.web.LoginRequest import roomescape.auth.web.support.LoginRequired import roomescape.auth.web.support.MemberId -import roomescape.common.docs.EmptyResponseSpec -import roomescape.common.docs.ResponseSpec import roomescape.common.dto.response.CommonApiResponse @Tag(name = "1. 인증 / 인가 API", description = "로그인, 로그아웃 및 로그인 상태를 확인합니다") interface AuthAPI { @Operation(summary = "로그인") @ApiResponses( - ApiResponse( - responseCode = "200", - description = "로그인 성공시 쿠키에 토큰 정보를 저장합니다.", - content = [Content(schema = Schema(implementation = EmptyResponseSpec::class))] - ), + ApiResponse(responseCode = "200", description = "로그인 성공시 쿠키에 토큰 정보를 저장합니다."), ) fun login( @Valid @RequestBody loginRequest: LoginRequest @@ -39,7 +29,7 @@ interface AuthAPI { ApiResponse( responseCode = "200", description = "로그인 상태이며, 로그인된 회원의 이름을 반환합니다.", - content = [Content(schema = Schema(implementation = LoginCheckResponseSpec::class))] + useReturnTypeSchema = true ), ) fun checkLogin( @@ -49,15 +39,7 @@ interface AuthAPI { @LoginRequired @Operation(summary = "로그아웃", tags = ["로그인이 필요한 API"]) @ApiResponses( - ApiResponse( - responseCode = "200", - description = "로그아웃 성공시 쿠키에 저장된 토큰 정보를 삭제합니다.", - content = [Content(schema = Schema(implementation = EmptyResponseSpec::class))] - ), + ApiResponse(responseCode = "200", description = "로그아웃 성공시 쿠키에 저장된 토큰 정보를 삭제합니다."), ) fun logout(): ResponseEntity> } - -data class LoginCheckResponseSpec( - override val data: LoginCheckResponse = LoginCheckResponse(name = "sangdol") -) : ResponseSpec diff --git a/src/main/java/roomescape/common/docs/CommonApiResponseSpec.kt b/src/main/java/roomescape/common/docs/CommonApiResponseSpec.kt deleted file mode 100644 index 6c2a82c2..00000000 --- a/src/main/java/roomescape/common/docs/CommonApiResponseSpec.kt +++ /dev/null @@ -1,24 +0,0 @@ -package roomescape.common.docs - -import io.swagger.v3.oas.annotations.media.Schema -import roomescape.common.exception.ErrorType - -/** - * Swagger API 문서의 Content에서만 사용되는 스펙 - */ - -@Schema(name = "API 에러 응답") -data class ErrorResponseSpec( - val errorType: ErrorType, - val message: String? = errorType.description -) - -@Schema(name = "API 성공 응답") -interface ResponseSpec { - val data: T -} - -@Schema(name = "데이터가 없는 API 성공 응답") -data class EmptyResponseSpec( - override val data: Unit = Unit -) : ResponseSpec