generated from pricelees/issue-pr-template
[#7] API 응답 형식 재정의 및 Swagger-UI 관련 코드 패키지 분리 #8
@ -1,11 +1,11 @@
|
||||
package roomescape.member.web
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
import roomescape.common.dto.response.CommonApiResponse
|
||||
import roomescape.member.business.MemberService
|
||||
import roomescape.member.infrastructure.persistence.Member
|
||||
import roomescape.common.dto.response.RoomescapeApiResponse
|
||||
import roomescape.member.docs.MemberAPI
|
||||
|
||||
@RestController
|
||||
class MemberController(
|
||||
@ -13,36 +13,9 @@ class MemberController(
|
||||
) : MemberAPI {
|
||||
|
||||
@GetMapping("/members")
|
||||
override fun readAllMembers(): RoomescapeApiResponse<MembersResponse> {
|
||||
val result: MembersResponse = memberService.readAllMembers()
|
||||
override fun readAllMembers(): ResponseEntity<CommonApiResponse<MembersResponse>> {
|
||||
val response: MembersResponse = memberService.readAllMembers()
|
||||
|
||||
return RoomescapeApiResponse.success(result)
|
||||
return ResponseEntity.ok(CommonApiResponse(response))
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "회원 조회 응답", description = "회원 정보 조회 응답시 사용됩니다.")
|
||||
data class MemberResponse(
|
||||
@field:Schema(description = "회원의 고유 번호")
|
||||
val id: Long,
|
||||
|
||||
@field:Schema(description = "회원의 이름")
|
||||
val name: String
|
||||
) {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun fromEntity(member: Member): MemberResponse {
|
||||
return MemberResponse(member.id!!, member.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun Member.toResponse(): MemberResponse = MemberResponse(
|
||||
id = id!!,
|
||||
name = name
|
||||
)
|
||||
|
||||
@Schema(name = "회원 목록 조회 응답", description = "모든 회원의 정보 조회 응답시 사용됩니다.")
|
||||
data class MembersResponse(
|
||||
@field:Schema(description = "모든 회원의 ID 및 이름")
|
||||
val members: List<MemberResponse>
|
||||
)
|
||||
|
||||
31
src/main/java/roomescape/member/web/MemberDTO.kt
Normal file
31
src/main/java/roomescape/member/web/MemberDTO.kt
Normal file
@ -0,0 +1,31 @@
|
||||
package roomescape.member.web
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema
|
||||
import roomescape.member.infrastructure.persistence.Member
|
||||
|
||||
fun Member.toResponse(): MemberResponse = MemberResponse(
|
||||
id = id!!,
|
||||
name = name
|
||||
)
|
||||
|
||||
@Schema(name = "회원 조회 응답", description = "회원 정보 조회 응답시 사용됩니다.")
|
||||
data class MemberResponse(
|
||||
@field:Schema(description = "회원의 고유 번호")
|
||||
val id: Long,
|
||||
|
||||
@field:Schema(description = "회원의 이름")
|
||||
val name: String
|
||||
) {
|
||||
companion object {
|
||||
@JvmStatic
|
||||
fun fromEntity(member: Member): MemberResponse {
|
||||
return MemberResponse(member.id!!, member.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "회원 목록 조회 응답", description = "모든 회원의 정보 조회 응답시 사용됩니다.")
|
||||
data class MembersResponse(
|
||||
@field:Schema(description = "모든 회원의 ID 및 이름")
|
||||
val members: List<MemberResponse>
|
||||
)
|
||||
Loading…
x
Reference in New Issue
Block a user