我如何使用actix-web返回API调用的响应?

问题描述 投票:1回答:1

我正在尝试从Rust subreddit获取帖子,并将响应返回到前端。

这是我的App

App::new()
    .data(Client::default())
    .wrap(middleware::Logger::default())
    .service(
        web::resource("/get/rust/posts").route(web::get().to_async(get_rust_posts))
    )

处理函数:

fn get_rust_posts(req: HttpRequest, client: web::Data<Client>) -> impl Future<Item = HttpResponse, Error = Error> {
  client.get("http://www.reddit.com/r/rust.json") // create request builder
    .header("User-Agent", "Actix-web")
    .send() // send http request
    .map_err(Error::from)
    .and_then(|resp| {
      // return resp
    })
}

依赖关系:

[dependencies]
actix-web = "1.0.7"
futures = "0.1.29"
rust request actix-web
1个回答
0
投票
fn get_rust_posts(req: HttpRequest, client: web::Data<Client>) -> impl Future<Item = HttpResponse, Error = Error> {
  client.get("http://www.reddit.com/r/rust.json") // create request builder
    .header("User-Agent", "Actix-web")
    .send() // send http request
    .map_err(Error::from)
    .and_then(|resp| Ok::<HttpResponse, Error>(HttpResponse::Ok().streaming(resp)))
}

但是目前在Windows上不起作用。

报告的问题:https://github.com/actix/actix-web/issues/1047

我已经尝试过在Ubuntu(/ linux)上运行。

© www.soinside.com 2019 - 2024. All rights reserved.