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(四)

相关推荐
jimy12 分钟前
C++ 中 xvalue 的 identity 存在哪里?和 lvalue 的 identity 有什么区别?
开发语言·c++·1024程序员节
yujunl8 分钟前
U9 无授权的模式WebAPI开发的总结
开发语言·1024程序员节
zzu123zsw12 分钟前
为什么 Python 做 Agent 总在并发中崩溃?拆解 Blockcell 在 Rust 下的 Host-Cell 隔离与自愈状态机
开发语言·python·rust·大模型·ai agent
excel17 分钟前
用 Node.js 搭建一套可持续获客的 SEO 内容系统:前端工程师 30 天实战方案
前端·后端
阿良别做梦22 分钟前
LangGraph 学习之路:给文档摘要接上模型
后端·开源
Random Glow37 分钟前
一条 SQL 从输入到返回,中间经历了什么
数据库·后端·mysql·性能优化·innodb·1024程序员节
xiaoye-duck42 分钟前
《C++ 项目:手写大模型接入 SDK》Provider分析与实现
开发语言·c++·语言模型
denlaku1 小时前
JDK 22 新特性详解
java·开发语言
“AI国潮设计-小江”2 小时前
AIGC实战:Python+SDXL批量生成英歌舞IP立牌,解锁猪猪蛋糕“反差萌”流量密码(附完整API源码)
开发语言·人工智能·python·prompt·aigc
hsg772 小时前
简述:基于Ubuntu24编译发布rust开发的html+web后端服务的方法
rust·1024程序员节