Rust:用 Warp 库实现 Restful API 的简单示例

直接上代码:

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
相关推荐
浪客川35 分钟前
【百例RUST - 011】简单键值对
开发语言·后端·rust
我登哥MVP39 分钟前
【SpringMVC笔记】 - 6 - RESTFul编程风格
java·spring boot·spring·servlet·tomcat·maven·restful
techdashen12 小时前
Rust项目公开征测:Cargo 构建目录新布局方案
开发语言·后端·rust
Rust研习社12 小时前
Rust 智能指针 Cell 与 RefCell 的内部可变性
开发语言·后端·rust
朝阳58115 小时前
rust 交叉编译指南
开发语言·后端·rust
redreamSo15 小时前
Turso:用 Rust 重写 SQLite,让数据库跑在每一个边缘节点
数据库·rust·sqlite
花间相见16 小时前
【终端效率工具01】—— Yazi:Rust 编写的现代化终端文件管理器,告别繁琐操作
前端·ide·git·rust·极限编程
fox_lht17 小时前
7.3.结构体-方法
开发语言·后端·rust
Tomhex18 小时前
Rust生命周期标注核心原理
rust
代码羊羊18 小时前
Rust基础类型与变量全解析
开发语言·后端·rust