【问题标题】:How do I serve a static HTML at API endpoint using Rocket?如何使用 Rocket 在 API 端点提供静态 HTML?
【发布时间】:2022-10-04 20:20:24
【问题描述】:

我想提供一个简单的 html 文件作为对 API 端点(如 /api/ 的请求的响应),我设法在网上找到的唯一一件事是如何将静态文件托管为 /index.html 例如。

我在 Rust 中使用火箭箱。

【问题讨论】:

    标签: html web rust static rocket


    【解决方案1】:

    你可以在guidesexamplesTemplates 中找到相关的东西。我想这可能是你需要的。

    【讨论】:

      【解决方案2】:

      您可以通过返回 NamedFile 从路由中提供单个文件:

      use rocket::fs::NamedFile;
      use rocket::get;
      
      #[get("/api")]
      async fn serve_home_page() -> Result<NamedFile, std::io::Error> {
          NamedFile::open("index.html").await
      }
      

      这是 0.5 API;如果您使用的是 0.4,则将导入更改为 rocket::response::NamedFile 并删除 async/await 语法。您也可以返回一个简单的std::fs::Filetokio::fs::File,但NamedFile 将根据文件扩展名设置正确的Content-Type 标头。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-26
        • 1970-01-01
        • 2021-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-05
        相关资源
        最近更新 更多