Skip to content

Commit 88dd057

Browse files
authored
Merge pull request #19 from EntryDSM/feature/13-layer-to-hexagonal-reserve
Feature/13 layer to hexagonal reserve
2 parents 7166cb5 + 3443e1d commit 88dd057

3 files changed

Lines changed: 67 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package hs.kr.entrydsm.feed.adapter.`in`.reserve
2+
3+
import hs.kr.entrydsm.feed.application.reserve.port.`in`.GetReserveUseCase
4+
import org.springframework.web.bind.annotation.GetMapping
5+
import org.springframework.web.bind.annotation.RequestMapping
6+
import org.springframework.web.bind.annotation.RestController
7+
8+
/**
9+
* 예약 링크 관련 HTTP 요청을 처리하는 웹 어댑터 클래스입니다.
10+
*
11+
* 이 클래스는 예약 링크 조회와 관련된 HTTP 엔드포인트를 제공하며,
12+
* 클라이언트의 요청을 적절한 서비스 메서드로 라우팅합니다.
13+
*
14+
* @property reserveService 예약 링크 비즈니스 로직을 처리하는 서비스
15+
*/
16+
@RestController
17+
@RequestMapping("/reserve")
18+
class ReserveWebAdapter(
19+
private val getReserveUseCase: GetReserveUseCase,
20+
) {
21+
/**
22+
* 예약 페이지 링크를 조회합니다.
23+
*
24+
* @return 예약 페이지 URL 문자열
25+
*/
26+
@GetMapping
27+
fun reserveLink(): String = getReserveUseCase.execute()
28+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package hs.kr.entrydsm.feed.application.reserve.port.`in`
2+
3+
/**
4+
* 예약 관련 비즈니스 로직을 정의한 인터페이스입니다.
5+
* 예약 링크 조회 기능을 제공합니다.
6+
*/
7+
interface GetReserveUseCase {
8+
/**
9+
* 예약 페이지 링크를 조회합니다.
10+
*
11+
* @return 예약 페이지 URL 문자열
12+
*/
13+
fun execute(): String
14+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package hs.kr.entrydsm.feed.application.reserve.service
2+
3+
import hs.kr.entrydsm.feed.application.reserve.port.`in`.GetReserveUseCase
4+
import org.springframework.beans.factory.annotation.Value
5+
import org.springframework.stereotype.Service
6+
7+
/**
8+
* 예약 링크를 제공하는 서비스 클래스입니다.
9+
*
10+
* 이 클래스는 애플리케이션 설정에서 예약 링크를 가져와 제공하는 역할을 합니다.
11+
*
12+
* @property reserveLink 애플리케이션 설정에서 주입받은 예약 링크 (reserve.link)
13+
*/
14+
@Service
15+
class GetReserveService(
16+
@Value("\${reserve.link}")
17+
private val reserveLink: String,
18+
) : GetReserveUseCase {
19+
/**
20+
* 애플리케이션 설정에 정의된 예약 링크를 반환합니다.
21+
*
22+
* @return 예약 페이지 URL 문자열
23+
*/
24+
override fun execute() = reserveLink
25+
}

0 commit comments

Comments
 (0)