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

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

前置说明

开发语言: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

        

http://www.xdnf.cn/news/457183.html

相关文章:

  • WPS文字的“邮件合并”功能-----批量生成word文档
  • 一文讲透 Vue3 + Three.js 材质属性之皮革篇【扫盲篇】
  • 【hadoop】sqoop案例 hive->mysql
  • 2.ch452a 4线驱动按键扫描
  • Spring MVC 拦截器 (HandlerInterceptor) 是什么? 它与 Servlet Filter 有什么区别?
  • Kotlin并发请求的一些知识记录
  • Go 语言中接口类型转换为具体类型
  • 修复Windows 10中由于SearchProtocolHost.exe而导致的CPU使用率过高
  • 软考 系统架构设计师系列知识点之杂项集萃(60)
  • 飞牛NAS本地部署开源TTS文本转语音工具EasyVoice与远程使用流程
  • 在Angular中使用Leaflet构建地图应用
  • 【实战教程】从零实现DeepSeek AI多专家协作系统 - Spring Boot+React打造AI专家团队协作平台
  • 服务器连接多客户端
  • 8.ADC
  • 常用Playwright代码片段-Part4
  • π0: A Vision-Language-Action Flow Model for General Robot Control
  • PowerBI链接EXCEL实现自动化报表
  • 【Linux系统】从 C 语言文件操作到系统调用的核心原理
  • vscode c++编译onnxruntime cuda 出现的问题
  • VScode各文件转化为PDF的方法
  • 赛博放生:用数字技术重构心灵仪式
  • 各个历史版本mysql/tomcat/Redis/Jdk/Apache下载地址
  • 【深度学习之四】知识蒸馏综述提炼
  • Golang基础知识—cond
  • 51c~C语言~合集5
  • Python Bug 修复案例分析:asyncio 事件循环异常引发的程序崩溃 两种修复方法
  • 深度解析 IDEA 集成 Continue 插件:提升开发效率的全流程指南
  • 2025长三角杯数学建模A题:智能手机产品设计优化与定价问题,赛题发布与思路分析
  • 2025.05.14华为机考笔试题-第一题-100分
  • 边缘计算模块