package roomescape.region.docs import io.swagger.v3.oas.annotations.Operation import io.swagger.v3.oas.annotations.responses.ApiResponse import io.swagger.v3.oas.annotations.responses.ApiResponses import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.RequestParam import roomescape.auth.web.support.Public import roomescape.common.dto.response.CommonApiResponse import roomescape.region.web.RegionCodeResponse import roomescape.region.web.SidoListResponse import roomescape.region.web.SigunguListResponse interface RegionAPI { @Public @Operation(summary = "지역 코드 조회") @ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true)) fun findRegionCode( @RequestParam(name = "sidoCode", required = true) sidoCode: String, @RequestParam(name = "sigunguCode", required = true) sigunguCode: String, ): ResponseEntity> @Public @Operation(summary = "모든 시 / 도 목록 조회") @ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true)) fun readAllSido(): ResponseEntity> @Public @Operation(summary = "모든 시 / 군 / 구 목록 조회") @ApiResponses(ApiResponse(responseCode = "200", description = "성공", useReturnTypeSchema = true)) fun findAllSigunguBySido( @RequestParam(required = true) sidoCode: String ): ResponseEntity> }