4.2.4 잘못된 요청 처리하기

    HTTP POST 또는 PUT 요청 내용에서 JSON을 파싱할 때 엄격한 타입 검사를 가진 프로그래밍 언어의 장점을 확인할 수 있다. 내용의 유효성을 자동으로 검사하기 때문에 우리가 해야 할 일은 return_error 메서드에서 BodyDeserializeError를 확인해 적절한 에러를 클라이언트에 다시 반환하기만 하면 된다.

    코드 4-35 PUT 요청 내용에서 질문을 읽지 못할 때 에러 추가하기

    ...
    use warp::{
        filters::{body::BodyDeserializeError, cors::CorsForbidden},
        http::Method,
        http::StatusCode,
        reject::Reject,
        Filter, Rejection, Reply,
    };
    
    async fn return_error(r: Rejection) -> Result<impl Reply, Rejection> {
        if let Some(error) = r.find::<Error>() {
            Ok(warp::reply::with_status(
                error.to_string(),
                StatusCode::RANGE_NOT_SATISFIABLE,
            ))
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.