gpt4 book ai didi

rust - 如何创建一个服务于 API 并使用 Iron 回退到磁盘的服务器?

转载 作者:行者123 更新时间:2023-11-29 08:35:21 24 4
gpt4 key购买 nike

我尝试了以下方法:

let mut router = Router:new();
router.get("/hello", |_: &mut Request| {
Ok(Response::with((status::Ok, "hello")))
}, "/hello");

let mut mount = Mount::new();
mount.mount("/", router)
.mount("/", Static::new(Path::new("src/public/")));

但是当我尝试访问 /hello 时,它会导致“没有这样的文件或目录”错误:

Request {
url: Url { generic_url: "http://localhost:10800/hello" }
method: Get
remote_addr: V4(127.0.0.1:57260)
local_addr: V4(127.0.0.1:10800)
}
Error was: Error { repr: Os { code: 2, message: "No such file or directory" } }

最佳答案

根本不需要使用Router;只需将处理程序直接传递给 mount:

extern crate iron;
extern crate mount;
extern crate staticfile;

use iron::prelude::*;
use iron::status;
use mount::Mount;
use staticfile::Static;

use std::path::Path;

fn main() {
let hello = |_: &mut Request| {
Ok(Response::with((status::Ok, "hello")))
};

let mut mount = Mount::new();
mount.mount("/hello", hello)
.mount("/", Static::new(Path::new("src/public/")));

let _server = Iron::new(mount).http("localhost:3000").unwrap();
println!("On 3000");
}
$ curl localhost:3000/animal
cow
$ curl localhost:3000/hello
hello

关于rust - 如何创建一个服务于 API 并使用 Iron 回退到磁盘的服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45000679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com