generated from pricelees/issue-pr-template
32 lines
1.2 KiB
Kotlin
32 lines
1.2 KiB
Kotlin
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<CommonApiResponse<SignupResponse>> {
|
|
val response: SignupResponse = memberService.createMember(request)
|
|
return ResponseEntity.created(URI.create("/members/${response.id}"))
|
|
.body(CommonApiResponse(response))
|
|
}
|
|
|
|
@GetMapping("/members")
|
|
override fun findMembers(): ResponseEntity<CommonApiResponse<MemberRetrieveListResponse>> {
|
|
val response: MemberRetrieveListResponse = memberService.findMembers()
|
|
|
|
return ResponseEntity.ok(CommonApiResponse(response))
|
|
}
|
|
}
|