【发布时间】:2021-11-04 01:42:39
【问题描述】:
我使用使用 tokio 1 的 crate scylla,所以我必须使用 crate actix-web 4.0 beta。 现在我有问题,使用 actix_web::client::Client 显示错误:
3 | use actix_web::client::Client;
| ^^^^^^ could not find `client` in `actix_web`
我想用这段代码在 actix 处理程序中访问 API:
pub(crate) async fn proses_mapmatching(data: web::Data<AppState>) -> impl Responder {
let client = Client::default();
let res = client.post("http://localhost:8002/trace_route")
.send()
.await
.unwrap()
.body()
.await;
println!("Response: {:?}", res);
HttpResponse::Ok().body(format!("Hello {:?}", res))
}
任何想法仍然使用带有reqest post insede处理函数的actix-web 4? 谢谢
用 AWC 回答代码 - 感谢 @kmdreko 先生
pub(crate) async fn proses_mapmatching(data: web::Data<AppState>) -> impl Responder {
let mut client = awc::Client::default();
let response = client.post("http://localhost:8002/trace_route")
.send_body("Raw body contents")
.await;
println!("Response: {:?}", response.unwrap().body().await);
HttpResponse::Ok().body(format!("Hello {}!", rows.len()))
}
【问题讨论】: