더북(TheBook)

또 Http4k는 도메인 특화 언어(Domain Specific Language, DSL)를 제공하기 때문에 읽기 쉽고 쓰기 쉬운 방식으로 빠르게 URL 경로를 정의할 수 있다. 이를 위해서는 HTTP 메서드와 각 경로를 HttpHandler 타입에 바인딩해야 한다.

각 경로에 대해 부록 B 람다 변수에서 설명한 람다 변수를 사용하거나, 부록 B 함수에서 설명한 함수를 전달할 수 있다.

val app: HttpHandler = routes(
    "/greetings" bind GET to ::greetings, 
    "/data" bind POST to ::receiveData,   
)     

fun greetings(req: Request): Response = Response(OK).body(htmlPage) 

fun receiveData(req: Request): Response = Response(CREATED)
    .body("Received: ${req.bodyString()}") 

fun main() {
    app.asServer(Jetty(8080)).start()
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.