Skip to content

Commit 64ff9db

Browse files
committed
feat: BaseResponse, 응답 메세지 enum class 구현
1 parent 6ac7497 commit 64ff9db

File tree

3 files changed

+41
-0
lines changed

3 files changed

+41
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package site.katchup.springboot.global.message
2+
3+
enum class FailMessage(
4+
val value: String,
5+
)
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package site.katchup.springboot.global.message
2+
3+
enum class SuccessMessage(
4+
val value: String,
5+
) {
6+
SUCCESS_HEALTH_CHECK("OK"),
7+
;
8+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package site.katchup.springboot.global.response
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude
4+
import org.springframework.http.HttpStatus
5+
import org.springframework.http.ResponseEntity
6+
import site.katchup.springboot.global.message.FailMessage
7+
import site.katchup.springboot.global.message.SuccessMessage
8+
9+
class BaseResponse<T>(
10+
val message: String,
11+
@JsonInclude(JsonInclude.Include.NON_NULL)
12+
val data: T?,
13+
) {
14+
constructor(message: String) : this(message, null)
15+
companion object {
16+
fun <T> ok(message: SuccessMessage, data: T): ResponseEntity<BaseResponse<T>> {
17+
return ResponseEntity.ok(BaseResponse(message.value, data))
18+
}
19+
20+
fun <T> created(message: SuccessMessage, data: T): ResponseEntity<BaseResponse<T>> {
21+
return ResponseEntity.status(HttpStatus.CREATED).body(BaseResponse(message.value, data))
22+
}
23+
24+
fun <T> fail(message: FailMessage): BaseResponse<T> {
25+
return BaseResponse(message.value, null)
26+
}
27+
}
28+
}

0 commit comments

Comments
 (0)