정구리의 우주정복
[KOTLIN] API 공통 Response 정의하기 본문
반응형
package com.example.common.response
import com.fasterxml.jackson.annotation.JsonInclude
import java.time.LocalDateTime
@JsonInclude(JsonInclude.Include.NON_NULL)
data class ApiResponse<T>(
val success: Boolean,
val message: String,
val data: T? = null,
val error: ErrorDetail? = null,
val timestamp: LocalDateTime = LocalDateTime.now(),
) {
companion object {
fun <T> success(
data: T,
message: String = "성공",
): ApiResponse<T> =
ApiResponse(
success = true,
message = message,
data = data,
)
fun success(message: String = "성공"): ApiResponse<Unit> =
ApiResponse(
success = true,
message = message,
)
fun <T> error(
message: String,
errorCode: String? = null,
details: String? = null,
): ApiResponse<T> =
ApiResponse(
success = false,
message = message,
error = ErrorDetail(errorCode, details),
)
}
}
data class ErrorDetail(
val code: String?,
val details: String?,
)반응형
'JAVA > STUDY' 카테고리의 다른 글
| [Redis] redis 연결 및 데이터 넣기 (0) | 2025.05.20 |
|---|---|
| [WebFlux] WebFlux 사용 시 Transaction rollback 구현하기 , flatMap , JDBC vs Reactor (0) | 2025.05.20 |
| [Java] WebFlux 정리 (Spring MVC 와 차이, Java 비동기 기술들, Mono/Flux 차이) (1) | 2025.04.16 |
| [Kotlin] 공통 Response 정의하기 (0) | 2025.03.11 |
| [Kotlin] 구글 SMTP 연결 및 메일 전송 (2025.02.20 기준) (0) | 2025.02.20 |
Comments