直接上代码:
1、源文件 Cargo.toml
[package]
name = "xcalc"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
warp = "0.3"
tokio = { version = "1", features = ["full"] }
2、源文件:main.rs
use warp::{Filter, reply, Rejection}; // 引入 Rejection
#[tokio::main]
async fn main() {
// 创建一个简单的 GET /hello 路由,返回 "hello"
let hello = warp::path!("hello")
.map(|| "hello")
.and_then(|msg| async move { Ok::<_, Rejection>(reply::html(msg)) }); // 显式指定 Result 的 Err 类型为 Rejection
// 运行 Warp 服务器并监听 8080 端口
warp::serve(hello)
.run(([127, 0, 0, 1], 8080))
.await;
}
3、运行测试
首先编译并运行上述程序,然后再打开一个新的命令行窗口,输入下面的测试命令:
curl http://localhost:8080/hello
可以看到显示结果为:
hello