package roomescape.member.web import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.GetMapping import org.springframework.web.bind.annotation.PostMapping import org.springframework.web.bind.annotation.RequestBody import org.springframework.web.bind.annotation.RestController import roomescape.common.dto.response.CommonApiResponse import roomescape.member.business.MemberService import roomescape.member.docs.MemberAPI import java.net.URI @RestController class MemberController( private val memberService: MemberService ) : MemberAPI { @PostMapping("/members") override fun signup(@RequestBody request: SignupRequest): ResponseEntity> { val response: SignupResponse = memberService.createMember(request) return ResponseEntity.created(URI.create("/members/${response.id}")) .body(CommonApiResponse(response)) } @GetMapping("/members") override fun findMembers(): ResponseEntity> { val response: MemberRetrieveListResponse = memberService.findMembers() return ResponseEntity.ok(CommonApiResponse(response)) } }