더북(TheBook)

마찬가지로 get_questions 함수로 Store에서 질문을 읽는 방식을 고쳐야 한다.

코드 4-30 저장소 읽는 방식을 수정하기

...
async fn get_questions(
    params: HashMap<String, String>,
    store: Store,
) -> Result<impl warp::Reply, warp::Rejection> {
    if !params.is_empty() {
        let pagination = extract_pagination(params)?;
        let res: Vec<Question> = store.questions
            .read()
            .await
            .values()
            .cloned()
            .collect();
        let res = &res[pagination.start..pagination.end];
        Ok(warp::reply::json(&res))
    } else {
        let res: Vec<Question> 
            = store.questions.read().await.values().cloned().collect();
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.