基于Rust语言的Rocket框架和Sqlx库开发WebAPI项目记录(一)

发布于:2025-05-16 ⋅ 阅读:(14) ⋅ 点赞:(0)

前置说明

开发语言:Rust

Web框架:Rocket

数据库:PostgreSQL

开发步骤

新建项目:

cargo new projectname

在Cargo.toml文件里配置如下依赖:

[dependencies]
rocket = {version="0.5.0",features=["json"]}
jsonwebtoken="9.2.0"
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "0.8", features = ["serde", "v4"] }
reqwest = { version = "0.11", features = ["json"] }
anyhow = "1.0.91"

[dependencies.sqlx]
version = "0.7"
default-features = false
features = ["macros", "migrate"]

[dependencies.rocket_db_pools]
version = "0.1.0"
features = ["sqlx_postgres"]

Rocket框架的配置文件(Rocket.toml)设置如下:

[global]
address="0.0.0.0"
port=9999
log_level="debug"


[default.databases.afpdb]
url = "postgresql://postgres:123@127.0.0.1:5432/prodb"

项目目录结构:

project

|—src

        |—common    //公共模块

                |—db.rs    //构造数据库连接池

                |—jwt.rs   //处理token

                |—mistake.rs  //处理错误

                |—util.rs  //工具函数

                |—mod.rs  //导出模块

        |—params   //封装参数结构体模块

                 |—req.rs    //封装请求参数结构体

                 |—resp.rs  //封装返回数据结构体

                 |—result_parse.rs  //解析返回参数结构体

                 |—mod.rs    //导出模块       

        |—logic       //业务逻辑模块

                |—wechat.rs  //处理业务逻辑

                |—mod.rs    //导出模块

        |—login_handle.rs    //登录相关控制处理函数

        |—xxx_handle.rs    //控制处理函数

        |—yyy_handle.rs    //控制处理函数

        |—lib.rs   //统一导出库文件

        |—main.rs      //程序入口

|—target

|—Cargo.lock

|—Cargo.toml

|—Rocket.toml

        


网站公告

今日签到

点亮在社区的每一天
去签到