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

网站建设人员叫什么科目dede英文网站

网站建设人员叫什么科目,dede英文网站,南昌网站设计企业,软件开发网站建设简介 Rust中最知名的两个web框架要数Rocket和Actix了#xff0c;Rocket更注重易用性#xff0c;Actix则更注重性能。这里只是了解一下Rust下的WebAPI开发流程#xff0c;就学一下最简单的 Rocket。 Rocket 是一个用于 Rust 的异步 Web 框架#xff0c;专注于可用性、安全性…简介 Rust中最知名的两个web框架要数Rocket和Actix了Rocket更注重易用性Actix则更注重性能。这里只是了解一下Rust下的WebAPI开发流程就学一下最简单的 Rocket。 Rocket 是一个用于 Rust 的异步 Web 框架专注于可用性、安全性、可扩展性和速度:githubhttps://github.com/rwf2/Rocket/tree/v0.5官网https://rocket.rs hello world 需要最新版本的 Rust 来运行 Rocket 应用程序运行以下命令确保安装了最新的工具链 rustup default stable 创建一个新的基于二进制的 Cargo 项目并切换到新目录 cargo new hello-rocket --bin cd hello-rocket执行以下命令添加 Rocket 依赖项 cargo add rocket 在 src/main.rs 文件中添加以下代码 #[macro_use] extern crate rocket;#[get(/)] fn index() - static str {Hello, world! }#[launch] fn rocket() - _ {rocket::build().mount(/, routes![index]) } 上面hello world示例没有main函数main函数由launch宏生成可以通过源码看出 pub fn launch(args: TokenStream, input: TokenStream) - TokenStream {emit!(attribute::entry::launch_attribute(args, input)) } //... async_entry!(launch_attribute, launch::Launch, quote!(fn main() {})); 运行程序访问 http://localhost:8000 以查看应用VS终端输出如下 程序带的有彩色输出如果在文件夹手动打开后没有彩色输出说明系统不支持ANSI转义序列。 常用功能 动态路径 动态路径比较常见的场景是动态id场景可以传N个动态类型即动态路径有多层只要这个类型实现了FromParam //访问链接示例http://localhost:8000/hello/张三/25/true #[get(/hello/name/age/is_male)] fn hello(name: str, age: u8, is_male: bool) - String {if is_male {format!(姓名 {} 年龄 {}, 性别 男!, name, age)} else {format!(姓名 {} 年龄 {}, 性别 女!, name, age)} } 这个路由会匹配所有/hello/为基础路径的路由然后将它匹配到的动态路径作为参数传递给处理器Rocket默认给标准库里的一些常见类型以及Rocket自身的一些特殊类型实现了FromParam trait。 多个片段(segments) 可以通过param..的方式来匹配多个动态路径这种类型的参数一般被叫做分段防护装置(segments guards)都必须先实现FromSegments这个trait。 use std::path::PathBuf;//访问链接示例http://localhost:8000/page/foo/bar #[get(/page/path..)] fn get_page(path: PathBuf) - String {let mut output String::new();for part in path.iter() {let part_str part.to_string_lossy();println!(路径参数: {}, part_str);output.push_str(format!(路径参数: {}\n, part_str));}output } PathBuf实现了FromSegments这个trait所以不用担心/page或者/page//导致的解析失败也不用担心路径遍历攻击(path traversal attacks)。 静态文件服务器 基于 分段防护装置(segments guards)可以简单的实现一个安全的静态文件服务器 use std::path::{Path, PathBuf}; use rocket::fs::NamedFile;#[get(public/file..)] async fn files(file: PathBuf) - OptionNamedFile {NamedFile::open(Path::new(static/).join(file)).await.ok() } 也可以使用 FileServer只需一行代码即可 //引入FileServer结构体 use rocket::fs::FileServer;//将/public作为URI前缀并将static/作为文件路径 rocket.mount(/public, FileServer::from(static/))在项目根目录下创建一个名为static的文件夹并将静态文件 example.txt 放在其中通过以下uri访问文件 http://localhost:8000/public/example.txt在发布项目时可以将静态文件夹放在与可执行文件相同的目录中或者根据部署需求将其放在其他位置。 简单WebAPI示例 下面使用Rocket实现一个简单的WebAPI这里的示例只实现Post方法不涉及JWT鉴权。 添加依赖 执行以下命令添加 serde 依赖 cargo add serde --features derive 再运行一遍以下命令打开 json 功能标志 cargo add rocket --features json 实现接口 在 src/main.rs 文件中实现以下代码 #[macro_use] extern crate rocket; use rocket::serde::{Deserialize, Serialize,json::Json};#[derive(Debug, Deserialize)] #[serde(crate rocket::serde)] struct TaskRequest {description: String,complete: bool }#[derive(Debug, Serialize)] #[serde(crate rocket::serde)] struct TaskResponse {description: String,complete: bool }#[post(/todo, data task)] fn my_function(task: JsonTaskRequest) - JsonTaskResponse {// 处理接收到的任务println!(Received task: {:?}, task);// 返回处理后的任务Json(TaskResponse {description: task.description.clone(),complete: task.complete,}) }#[launch] fn rocket() - _ {rocket::build().mount(/, routes![my_function]) } 接口测试 使用 curl 测试一下接口在cmd中执行以下命令 curl -X POST -H Content-Type: application/json -d {\description\:\Task 1\,\complete\:true} http://localhost:8000/todo 测试结果 文章转载自二次元攻城狮 原文链接https://www.cnblogs.com/timefiles/p/18082863 体验地址引迈 - JNPF快速开发平台_低代码开发平台_零代码开发平台_流程设计器_表单引擎_工作流引擎_软件架构
http://www.zqtcl.cn/news/48905/

相关文章:

  • 网站忧化工作怎么样wordpress怎么搭建成论坛
  • 厦门安能建设品牌网站建设喀什网站建设百度推广
  • 网站怎么添加百度商桥网站设计用什么字体好
  • 招投标网站什么腾讯网站做任务能刷q币
  • zenm自己做网站织梦 音乐网站
  • 福州网站营销互联网保险发展现状和趋势
  • 营销型企业网站建设规划探讨销售订单管理系统软件
  • 宜昌市夷陵区建设局网站定制开发app方案
  • 最新网站技术沈阳祥云男科
  • 铜陵网站建设推广小程序源码带后台
  • 赤峰专业网站建设表情制作在线生成器
  • 闸北区网站建设网页制作广州越秀区房价2022年最新房价
  • 网站首页的布局中关村哪里可以做网站
  • 做网站6个月心得《网站开发尾款结算》申请
  • 做网站的公司怎么拓展业务黑龙江做网站的公司
  • 上海网站建设微信开发网站建设:博采网络
  • 百度站长收录黑龙江省建设厅
  • asp技术网站开发案例房屋设计图软件免费
  • 怎样用jsp做网站登录秦皇岛网站搜索优化
  • 免费流量网站推广查公司的网站有哪些
  • 名作之壁吧网站建设网站建设方案云盘
  • led论坛网站建设中企动力z邮箱登录入口
  • html5网站动效怎么做linux网站服务器配置
  • 全响应网站制作网上能注册公司吗怎么注册
  • 专业手机网站建设多少钱装修网站模板下载
  • 白城整站优化宁波网站推广平台咨询
  • 天眼查网站建设公司韩国的电商网站
  • 可以投稿的写作网站深圳企业网络推广公司
  • 什么网站算是h5做的如何建设网站zy258
  • 有创意的设计主题免费优化网站