error_for_status() で、エラーレスポンスの場合を取得できる。
https://docs.rs/reqwest/latest/reqwest/struct.Response.html
200の場合は通過する。
pub async fn handle_health() -> Response { (StatusCode::OK, format!("I'm ACTIVE")).into_response() // (StatusCode::BAD_REQUEST, format!("Something wrong happened")).into_response() } async fn handle_post_test()-> Response { let res = reqwest::get("http://192.168.33.10:3000/health").await; match res.unwrap().error_for_status() { Ok(_res) => { println!("health check is OK"); }, Err(_err) => { println!("got bad request response. something wrong"); } } // }
なるほど〜
レスポンスで、statusコードをStatusCode::OKと返却しない場合でも、.error_for_status()は通過する。
// OK
(StatusCode::OK, format!(“I’m ACTIVE”)).into_response()
// OK
“All good”.into_response()
// Err
(StatusCode::BAD_REQUEST, format!(“Something wrong happened”)).into_response()