diff --git a/src/main/java/roomescape/member/web/MemberController.kt b/src/main/java/roomescape/member/web/MemberController.kt index 50e6fdfc..435ca9d4 100644 --- a/src/main/java/roomescape/member/web/MemberController.kt +++ b/src/main/java/roomescape/member/web/MemberController.kt @@ -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 { - val result: MembersResponse = memberService.readAllMembers() + override fun readAllMembers(): ResponseEntity> { + 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 -) diff --git a/src/main/java/roomescape/member/web/MemberDTO.kt b/src/main/java/roomescape/member/web/MemberDTO.kt new file mode 100644 index 00000000..e20bac35 --- /dev/null +++ b/src/main/java/roomescape/member/web/MemberDTO.kt @@ -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 +)