더북(TheBook)
#[tokio::main]
async fn main() {
    let get_items = warp::get() 
        .and(warp::path("questions"))
        .and(warp::path::end()) 
        .and_then(get_questions);

    let routes = get_items; 

    warp::serve(routes) 
        .run(([127, 0, 0, 1], 3030))
        .await;
}

Warp가 사용할 수 있게 회신과 거부를 반환하는 첫 번째 경로 핸들러를 만든다.

요청하는 클라이언트에 반환할 새로운 question을 생성한다.

Warp의 json 응답을 사용해 question의 JSON 버전을 반환한다.

하나 이상의 필터를 결합하는 Warp의 .and 함수를 사용해 큰 필터 하나를 생성하고 get_items에 할당한다.

path::end를 써서 정확히 /questions(예를 들어 /questions/further/params 같은 것은 안 됨)에서만 수신을 받겠다고 신호를 보낸다.

나중의 편의를 위해 경로 변수 routes를 정의한다.

routes 필터를 Warp의 serve 메서드로 전달하고 서버를 시작한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.