前置说明
**开发语言:**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:[email protected]: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