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

胡杨河市网站建设_网站建设公司_字体设计_seo优化

济南做网站推广哪家好,网站seo招聘,自己做网站 需要会什么6,做网站采集内容前言完成一个前后端分离项目#xff0c;后端技术选型Rust的框架Actix-web#xff0c;那么用这个框架完成后端代码它的项目目录很重要#xff0c;今天就来着重介绍一下。目录结构下面是自己用Rust Actix-web框架写web后端的目录结构#xff0c;如图所示#xff1a;目录结构…前言完成一个前后端分离项目后端技术选型Rust的框架Actix-web那么用这个框架完成后端代码它的项目目录很重要今天就来着重介绍一下。目录结构下面是自己用Rust Actix-web框架写web后端的目录结构如图所示目录结构目录结构各个目录作用1、config模块config模块主要存放一些配置信息如网络端口、主机IP等常用信息如下pub struct Server{ pub port:i32,}#[derive(Deserialize,Debug,Clone)]pub struct Mongo{ pub addr:String, pub database:String,}#[derive(Deserialize,Debug,Clone)]pub struct Ip{ pub localhost:String, pub server:String}2、constant模块constant主要用于定义常用的常量如下所示pub static COMPANY_COLLECTION:str company;pub static CUSTOMER_COLLECTION:str customer3、error模块error模块主要用于定义错误信息接口如下use std::fmt;use serde::export::Formatter;use toml::de;use std::io;pub enum CommonErrorEnum{ mongodb_error(mongodb::error::Error), common_error(String), toml_error(de::Error),}impl From:error::error for CommonErrorEnum{ fn from(error : mongodb::error::Error) - Self { CommonErrorEnum::mongodb_error(error) }}impl From:error for CommonErrorEnum{ fn from(error : de::Error) - Self { CommonErrorEnum::toml_error(error) }}4、logger 主要用于定义日志5、models模块 主要用于定义数据库各个表模型数据信息如用户账号表use serde::{Deserialize, Serialize};use mongodb::{ bson::{doc, Bson, document},};use serde_json::{Result, Value};#[derive(Deserialize,Debug,Clone)]pub struct Account{ userName:Option, password:Option, token:Option}impl Account{ pub fn to_document(mut self) -document::Document{ let mut doc document::Document::new(); doc.insert(userName,Bson::from(self.userName.take().unwrap())); doc.insert(password, Bson::from(self.password.take().unwrap())); doc.insert(token, Bson::from(self.token.take().unwrap_or(.parse().unwrap()))); doc }}6、server模块server模块主要定义一些网络请求数据接口信息如use actix_web::{get, web, App, HttpServer, Responder};use log::info;use actix_web::dev::Server;use crate::service::common;use crate::CONF_INSTANCE;pub async fn init() - std::io::Result { let config CONF_INSTANCE.get().unwrap(); let server config.ip.clone().server; HttpServer::new(|| { App::new() .service(web::resource(/v1/common/register).route(web::post().to(common::register))) }) .bind(server)? .run() .await}7、service模块service模块用于业务逻辑模块如注册逻辑:pub async fn register(vo:web::Json:customer::customer) - Response{ info!({:?},vo.0); let mut customer vo.0.clone(); let uid Uuid::new_v4(); let mut response HttpResponse::new(StatusCode::OK); let mongodb_client MONGODB_INSTANCE.get().clone().unwrap(); let config CONF_INSTANCE.get().clone().unwrap(); let str_data_base config.clone().mongo.database; let data_base mongodb_client.database(str_data_base.as_str()); let company_coll data_base.collection(constant::COMPANY_COLLECTION); let company_value vo.0.company.clone().unwrap(); // let company: entity::company::Company serde_json::from_value(company_value).unwrap(); let company_name company_value.name.unwrap(); let filter doc!{name:company_name}; let mut op_find_company company_coll.find_one(filter,FindOneOptions::default()).await.unwrap();............8、util模块util模块主要用于定义一些工具函数/// 工具类后面转成libuse std::time::{SystemTime, UNIX_EPOCH};/// String - static str/// 先是把pub fn string_to_static_str(s: String) - static str { Box::leak(s.into_boxed_str())}/// 获取时间戳pub fn timestamp() - i64 { let start SystemTime::now(); let since_the_epoch start .duration_since(UNIX_EPOCH) .expect(Time went backwards); let ms since_the_epoch.as_secs() as i64 * 1000i64 (since_the_epoch.subsec_nanos() as f64 / 1_000_000.0) as i64; ms}pub fn u8_array_to_string(array:[u8]) - String{ use std::fmt::Write; let mut signature_string String::new(); for a in array.iter() { write!(signature_string, {:02x}, a); } signature_string}9、Cargo.toml文件Cargo.toml文件主要记录软件信息和依赖信息如下所示:[package]name rust_webversion 0.1.0authors [huayue430163.com]edition 2018[dependencies]actix 0.9.0actix-codec 0.2.0actix-web-actors 2.0.0actix-http 1.0.1awc 1.0.1env_logger 0.6
http://www.ihoyoo.com/news/6430.html

相关文章:

  • 整体网站构架招聘网站如何做运营
  • 网站设置专栏营销网站制作公司推荐
  • 建设网站的申请报告做优化网站怎么优化代码
  • 网站还没有做解析是什么意思福州市城乡建设局
  • 网站建设制作哪家便宜discuz安装教程
  • 官方网站建设维护合作协议流量网站怎么做
  • 网站的备案怎么处理公众号网页怎么制作
  • 怎样建设国外网站wordpress展示产品
  • 北京建筑信息网页面优化主要从哪些方面进行
  • 大连做网站哪家服务好沈阳网站建设 房小二
  • 给单位做网站需要备案吗wordpress背景图
  • googlechrome廊坊关键词优化
  • 内蒙古网站建站Wordpress用户名是哪个
  • 网站的主题与风格说明第一次做网站选多大空间
  • 网站开发中数据库的设计原则网页制作素材服装类
  • 做设计的网站商家入驻创建一个网站需要什么条件
  • 网站开发属于软件开发行业吗谷歌可以绑定wordpress
  • 常州做网站的企业搭建一个自己的网站
  • 网站备案 icp备案长沙房地产交易中心
  • 购物网站页面设计图片做网站需要具备哪些条件
  • 需要找做网站的福州制作公司网站
  • 网站建设开发哪家好wordpress首页调用文章缩略图
  • 陕西西安网站建设公司排名中企品牌网
  • 望城经开区建设开发公司门户网站网站配色案例
  • 郑州做网站首选九零后网络网页设计与网站建设考试题
  • 银川网站建设公司哪家不错m99ww094cn 苍井空做的网站
  • 网站开发与服务合同范本宜黄县建设局网站
  • 如何网站做外贸生意河南网站建设路
  • 苏州网站建设系统价格合理苏州网站建设软件
  • 盘锦建设工程信息网站装修公司哪家好十大排名北京