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

 lib.rs代码与main.rs代码

在src目录新建lib.rs和main.rs文件(使用cargo new脚手架创建的项目不需要新建,默认有这2个文件)

目录结构如下:

project

|—src

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

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

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

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

                 |—mod.rs    //导出模块       

        |—common    //公共模块

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

                |—jwt.rs   //处理token

                |—mistake.rs  //处理错误

                |—util.rs  //工具函数

                |—mod.rs  //导出模块

        |—logic    //业务逻辑模块

                |—wechat.rs    //处理业务

                |—mod.rs   //导出模块

        |—login_handle.rs   //登录处理函数

        |—xxx_handle.rs   //CRUD与上传文件处理函数示例

        |—lib.rs   //导出模块

        |—main.rs   //程序主入口

lib.rs代码:

pub mod common;
pub mod logic;
pub mod params;

pub mod login_handle;
pub mod xxx_handle;

main.rs代码:

use projectname::common::db::Prodb;
use projectname::common::mistake::{un_auth,un_find,on_error,bad_request,un_processable};

use projectname::login_handle::verify;
use projectname::notice_handle::{insert_notice,update_notice,list_notice};
use projectname::xxx_handle::{delete_liver, insert_liver,list_liver,list_liver_all,list_liver_all_asc,list_liver_asc, upload_file};


use rocket_db_pools::Database;



#[macro_use] extern crate rocket;



#[launch]
fn rocket() -> _ {
    rocket::build()
    //初始化数据库连接
    .attach(Afpdb::init())
    //捕获异常
    .register("/", catchers![un_auth,un_find,on_error,bad_request,un_processable])
    .mount("/login", routes![verify])
    .mount("/notice", routes![insert_notice,update_notice,list_notice])
    .mount("/liver", routes![insert_liver,delete_liver,list_liver,list_liver_all,list_liver_asc,list_liver_all_asc,upload_file])
   
}
最后说明

运行cargo run 命令即可运行查看效果,使用cargo build --release命令即可编译成二进制可执行文件,以Windows系统为例,编译后可在bin/release目录下找到projectname.exe文件,将此exe文件与Rocket.toml文件一起上传到服务器指定目录,然后双击运行exe文件,即可使用,生产环境中可以考虑使用Nginx反向代理此应用服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值