From 429fc59fca6805907cbb8889ab62d99dea5d48bc Mon Sep 17 00:00:00 2001 From: pricelees Date: Tue, 15 Jul 2025 11:23:54 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20Swagger=20=EB=AC=B8=EC=84=9C=ED=99=94?= =?UTF-8?q?=EC=97=90=EB=A7=8C=20=EC=82=AC=EC=9A=A9=EB=90=98=EB=8A=94=20?= =?UTF-8?q?=EB=B3=84=EB=8F=84=EC=9D=98=20=ED=98=95=EC=8B=9D=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 코틀린 제네릭 타입이 자바처럼 호환되지 않아 별도로 정의 --- .../common/docs/CommonApiResponseSpec.kt | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/main/java/roomescape/common/docs/CommonApiResponseSpec.kt diff --git a/src/main/java/roomescape/common/docs/CommonApiResponseSpec.kt b/src/main/java/roomescape/common/docs/CommonApiResponseSpec.kt new file mode 100644 index 00000000..6c2a82c2 --- /dev/null +++ b/src/main/java/roomescape/common/docs/CommonApiResponseSpec.kt @@ -0,0 +1,24 @@ +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