더북(TheBook)

코드 3-10 에러 처리에 에러 사례 추가하기

use warp::{Filter, reject::Reject, Rejection, Reply, http::StatusCode};

...

async fn return_error(r: Rejection) -> Result<impl Reply, Rejection> {
    if let Some(_InvalidId) = r.find::<InvalidId>() {
        Ok(warp::reply::with_status(
            "No valid ID presented",
            StatusCode::UNPROCESSABLE_ENTITY,
        ))
    } else {
        Ok(warp::reply::with_status(
            "Route not found",
            StatusCode::NOT_FOUND,
        ))
    }
}

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