Rust - Wrap 入门

文章目录

    • [关于 Wrap](#关于 Wrap)
      • [Warp & Rocket](#Warp & Rocket)
      • [Warp 结合使用的第三方库推荐](#Warp 结合使用的第三方库推荐)
    • 使用

关于 Wrap

A super-easy, composable, web server framework for warp speeds.

类似于 Python flask 的web 服务框架


视频教程 : 原子之音 https://www.bilibili.com/video/BV1a34y187XR/


Warp & Rocket

Warp

  • 性能更好
  • 官网就是GitHub
  • 像flask 微框架
  • 可以搭配不同的第三方库

Rocket

  • 性能相比Warp要差一点(性能也比较强大)
  • 易学、文档完善
  • 像django有一套成熟的解决方案
  • 不太需要第三方库

Warp 结合使用的第三方库推荐

  • log libs
    • log
    • pretty_env_logger
  • db libs
    • sqlx(异步)
  • json
    • serde
    • serde_json
    • serde_derive

使用

1、创建项目

shell 复制代码
cargo new basic_wrap

2、Cargo.toml 添加:

rust 复制代码
tokio = { version = "1", features = ["full"] }
warp = "0.3"

3、main.rs 代码修改为:

rust 复制代码
use warp::Filter;

#[tokio::main]
async fn main() {
    // GET /hello/warp => 200 OK with body "Hello, warp!"
    let hello = warp::path!("hello" / String)
        .map(|name| format!("Hello, {}!", name));

    warp::serve(hello)
        .run(([127, 0, 0, 1], 3030))
        .await;
}

4、运行

rust 复制代码
cargo update
cargo run

5、访问: http://127.0.0.1:3030/hello/rust

页面会显示

rust 复制代码
Hello, rust!

伊织 2024-05-09(四)

相关推荐
浮游本尊16 分钟前
一次合同同步背后的多阶段流水线:从外部主数据到本地歧义消解
后端
lv__pf17 分钟前
springboot原理
java·spring boot·后端
java1234_小锋18 分钟前
Java高频面试题:什么是可重入锁?
java·开发语言
雾岛听蓝1 小时前
Qt操作指南:窗口组成与菜单栏
开发语言·经验分享·笔记·qt
段小二1 小时前
服务一重启全丢了——Spring AI Alibaba Agent 三层持久化完整方案
java·后端
UIUV1 小时前
Go语言入门到精通学习笔记
后端·go·编程语言
lizhongxuan1 小时前
开发 Agent 的坑
后端
段小二1 小时前
Agent 自动把机票改错了,推理完全正确——这才是真正的风险
java·后端
zopple1 小时前
Laravel vs ThinkPHP:PHP框架终极对决
开发语言·php·laravel