当前位置: 首页 > article >正文

从零开始:用 Rust 编写你的第一个 Web 服务

Rust 是一种现代、高性能的编程语言,近年来在 Web 开发领域也有了一席之地。本文将介绍如何使用 Rust 编写一个简单的 Web
程序,从搭建开发环境到创建第一个 Web 页面。

1. 开发环境搭建

首先,确保你已经安装了 Rust 工具链。你可以通过在终端中运行以下命令来安装 Rust:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

然后,按照提示完成 Rust 工具链的安装。

接下来,我们需要安装一个叫做 warp 的 Rust Web 框架。在你的项目目录下,运行以下命令:

cargo new my_web_app
cd my_web_app

Cargo.toml 文件中添加 warp 作为依赖:

[dependencies]
warp = "0.3"

然后运行以下命令安装依赖:

cargo build

2. 编写 Web 服务

现在,让我们创建一个简单的 Web 服务。在 src/main.rs 中,添加以下代码:

use warp::Filter;

#[tokio::main]
async fn main() {
    // 定义路由
    let hello = warp::path!("hello" / String)
        .map(|name| format!("Hello, {}!", name));

    // 启动服务器
    warp::serve(hello)
        .run(([127, 0, 0, 1], 3030))
        .await;
}

这个代码创建了一个简单的路由,当访问 /hello/{name} 时,会返回一个包含问候语的字符串。

3. 运行 Web 服务

现在,让我们运行我们的 Web 服务。在项目根目录下运行:

cargo run

你会看到类似如下的输出:

   Compiling my_web_app v0.1.0 (/path/to/your/project/my_web_app)
    Finished dev [unoptimized + debuginfo] target(s) in 2.10s
     Running `target/debug/my_web_app`

这表示你的服务已经在本地运行在 127.0.0.1:3030 上了。

4. 访问你的 Web 服务

现在,打开你的浏览器并访问 http://localhost:3030/hello/World。你应该会看到一个包含问候语的页面,类似于:

Hello, World!

http://www.kler.cn/news/234269.html

相关文章:

  • python web 框架Django学习笔记
  • 服务器渲染(SSR)-前端框架
  • 前端架构: 脚手架开发流程中的难点梳理
  • 5G NR 频率计算
  • Maven进阶
  • 与AI对话:编写高效Prompt的指南
  • mysql8.0 正值表达式Regular expressions (sample database classicmodels _No.5)
  • 跳过mysql8.0密码重置密码 Shell脚本
  • 开源项目的三年,我的项目经历了哪些变化?
  • 9、Node.js的下载与安装配置
  • 2023年,跳槽了4家电源公司
  • 专业135+总400+中国科学院大学859国科大信号与系统考研经验电子信息与通信,真题,大纲,参考书
  • 【Linux】学习-动静态库
  • 什么是Python中的上下文管理器(Context Managers)?with语句是如何工作的?请解释Python中的装饰器如何用于实现函数缓存。
  • 创新指南|企业实施Gen AI面临的10大挑战
  • 从零开始学howtoheap:fastbins的house_of_spirit攻击2
  • 使用Arcgis裁剪
  • LLM之LangChain(七)| 使用LangChain,LangSmith实现Prompt工程ToT
  • 新春快乐(烟花、春联)【附源码】
  • KAJIMA CORPORATION CONTEST 2024(AtCoder Beginner Contest 340)ABCDEF 视频讲解
  • 代码随想录算法训练营第44天 | 完全背包理论基础 518.零钱兑换II 377.组合总和 Ⅳ
  • 假期2.7
  • Android 移动应用开发 创建第一个Android项目
  • leetcode:216.组合总和三
  • Mybatis开发辅助神器p6spy
  • 基于JavaWeb的网上订餐项目
  • Unity类银河恶魔城学习记录1-14 AttackDirection源代码 P41
  • 第十四章 以编程方式使用 SQL 网关 - %SQLGatewayConnection 方法和属性
  • 【正在更新】从零开始认识语音识别:DNN-HMM混合系统语音识别(ASR)原理
  • 02 数据库管理 数据表管理