더북(TheBook)

코드 4-17 구조를 알아보기 위해 매개변수 디버깅하기

...
async fn get_questions(
    params: HashMap<String, String>,
    store: Store
) -> Result<impl warp::Reply, warp::Rejection> {
    println!("{:?}", params);
    let res: Vec<Question> = store.questions.values().cloned().collect();

    Ok(warp::reply::json(&res))
}
...

println! 매크로에 {} 대신 {:?}를 넣었다. 이는 HashMap은 복잡한 데이터 구조이기 때문에 컴파일러에 Display 대신 Debug 양식을 사용하도록 하기 위해서다. HTTP GET 요청을 다음과 같이 보낸다.

$ curl "http://localhost:3030/questions?start=1&end=200"

그러면 다음과 같은 결과가 콘솔에 출력된다(println! 부분은 음영으로 표시했다).

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