더북(TheBook)

.and(store_filter)로 필터를 필터 체인에 연결한다. Warp 프레임워크는 이제 저장소 객체를 경로 핸들러에 추가할 것이다. 즉, get_questions 함수는 매개변수 하나를 받게 된다. 그리고 이제 설정된 질문을 반환하는 대신 저장소에서 읽는다.

이 변경으로 테스트용으로 넣었던 질문을 만드는 코드를 삭제할 수 있고, Questionimpl 블록과 에러 처리도 삭제할 수 있다. 삭제된 코드는 취소선으로 표시했다.

코드 4-14 get_questions 경로 핸들러로 저장소에서 질문 읽기

use std::str::FromStr;
use std::io::{Error, ErrorKind};
...
// Clone 트레이트를 추가해서
// get_questions 함수에서 사용
#[derive(Deserialize, Serialize, Debug, Clone)]
struct Question {
    id: QuestionId,
    title: String,
    content: String,
    tags: Option<Vec<String>>,
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.