6个版本 (破坏性)

0.6.0 2024年3月9日
0.5.0 2024年3月9日
0.4.0 2024年3月9日
0.3.0 2024年3月9日
0.1.0 2024年3月9日

#794 in Web编程

MIT/Apache

55KB
1K SLoC

Rust语言Web服务教程

概述

该项目是一个综合教程,旨在使用Rust编程语言构建Web服务。它涵盖了从设置PostgreSQL数据库到处理JSON响应的各个方面。

使用的技术

  • Rust:该项目使用的主要编程语言。
  • Tokio:Rust的异步运行时。
  • SQLx:Rust库,用于连接到PostgreSQL数据库。
  • Dotenv:Rust crate,用于处理.env文件。
  • Serde:Rust crate,用于序列化和反序列化数据结构。
  • Actix-Web:用于构建Web服务的Rust框架。
  • Chrono:Rust的时间处理库。

文档

要生成此项目的文档

cargo doc --open

入门

先决条件

  • 请确保您已安装Docker Compose。如果没有,您可以从Docker Desktop下载。

设置

  1. 环境变量:复制示例环境文件并配置变量。

    cp env.example .env
    
  2. Docker Compose:启动Docker容器。

    docker compose up -d
    
  3. 上传Postman集合:通过桌面客户端本地打开Postman。然后上传名为Web Service Tutorial.postman_collection.json的文件。现在您应该可以访问Postman集合。

  4. 获取Bearer令牌:

    1. 转到create_user路由下的auth文件夹。
    2. 通过点击Send按钮创建用户。如果出现问题,请更改用户名和密码。
    3. 成功创建新用户后,检查头部。在authorization头部下,您应该看到Bearer令牌。复制Bearer之后的所有内容。
    4. 现在点击Web Service Tutorial Postman集合。
    5. 在《授权》页面下,你应该能看到一个类型下拉菜单。
    6. 选择Bearer Token。选择Bearer Token后,下面应该会出现一个显示为Token的下拉菜单。将之前复制的bearer token粘贴到这里。你现在应该被授权4小时,或者直到你的.env文件中将JWT_HOURS_ACTIVE设置为多长时间。
    7. 如果你在访问路由时遇到任何问题,尝试将每个localhost:8080更改为http://127.0.0.1:8080
  5. 测试路由:打开您的浏览器或使用Postman等工具来访问以下路由

    http://127.0.0.1:8080/blog
    

数据库GUI (PgAdmin4)

  • https://127.0.0.1:16543访问PgAdmin4界面。
  • 用户名:test@test.com
  • 密码:test

有关在PgAdmin4中添加PostgreSQL服务器的详细说明,请参阅PG Admin指南

SQL模式

init.sql文件包含定义数据库模式的SQL语句。您可以自由探索它以了解数据库结构。

身份验证

SKIP_AUTH环境变量控制JWT身份验证。将其设置为true以在开发期间禁用JWT。

其他资源

依赖项

~59MB
~1M SLoC