generated from pricelees/issue-pr-template
33 lines
1.0 KiB
Kotlin
33 lines
1.0 KiB
Kotlin
package roomescape.theme.web
|
|
|
|
import jakarta.validation.Valid
|
|
import org.springframework.http.ResponseEntity
|
|
import org.springframework.web.bind.annotation.*
|
|
import roomescape.common.dto.response.CommonApiResponse
|
|
import roomescape.theme.business.ThemeService
|
|
import roomescape.theme.docs.PublicThemeAPI
|
|
|
|
@RestController
|
|
@RequestMapping("/themes")
|
|
class ThemeController(
|
|
private val themeService: ThemeService,
|
|
) : PublicThemeAPI {
|
|
@PostMapping("/batch")
|
|
override fun findThemeInfosByIds(
|
|
@Valid @RequestBody request: ThemeIdListRequest
|
|
): ResponseEntity<CommonApiResponse<ThemeInfoListResponse>> {
|
|
val response = themeService.findAllInfosByIds(request)
|
|
|
|
return ResponseEntity.ok(CommonApiResponse(response))
|
|
}
|
|
|
|
@GetMapping("/{id}")
|
|
override fun findThemeInfoById(
|
|
@PathVariable id: Long
|
|
): ResponseEntity<CommonApiResponse<ThemeInfoResponse>> {
|
|
val response = themeService.findInfoById(id)
|
|
|
|
return ResponseEntity.ok(CommonApiResponse(response))
|
|
}
|
|
}
|