코드 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! 부분은 음영으로 표시했다).