더북(TheBook)
    let res: Vec<Question> = store.questions.values().cloned().collect();
    Ok(warp::reply::json(&res))
}

먼저 매개변수의 HashMap이 비어 있지 않은지 확인한 다음 extract_pagination 함수에 전달한다. 이 함수는 Pagination 객체를 반환하거나 끝에 있는 물음표(?)로 사용자 정의 에러를 반환한다. 그런 다음 startend 매개변수를 사용하여 Vec에서 슬라이스를 가져와 사용자가 지정한 질문을 반환한다.

매개변수가 유효하지 않으면 3장에서 만들었던 return_error 함수로 에러를 처리한다. else if 블록을 추가하고 Rejection 필터에서 사용자 정의 에러를 찾게 한다.

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