rust学习-http-server端

Get请求

curl "http://127.0.0.1:8000/get/cat?task_id=123&demo=1"

Post请求

curl 'http://localhost:8000/set/monkey' \
-H "Content-Type:application/json" \
-H 'Authorization:bearer' \
-X POST \
-d '{"name":"xiaoming", "age":12}'
curl 'http://localhost:8000/set/monkey' \
-H "Content-Type:application/json" \
-H 'Authorization:bearer' \
-X POST \
-d '@/Users/xxx/test.json'

cat test.json

{"name":"xiaoming", "age":12}

代码示例

// cat Cargo.toml
[package]
name = "rust_demo7"
version = "0.1.0"
edition = "2021"[dependencies]
hyper = { version = "0.14", features = ["full"] }
tokio = { version = "1", features = ["full"] }
futures = "0.3"
url = "2.2"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
// cat src/main.rs
use hyper::{Server, Body, Method, Request, Response, StatusCode};
use hyper::service::{make_service_fn, service_fn};
use std::convert::Infallible;
use std::net::SocketAddr;
use serde::{Deserialize, Serialize};#[derive(Debug, Deserialize)]
struct MyData {name: String,age: u32,
}async fn handle_request(req: Request<Body>) -> Result<Response<Body>, hyper::Error> {match (req.method(), req.uri().path()) {(&Method::GET, "/watch/dog") => {print!("enter Get logic\n");let params: Vec<(String, String)> = req.uri().query().map(|query| {url::form_urlencoded::parse(query.as_bytes()).into_owned().collect()}).unwrap_or_else(Vec::new);// 打印参数for (key, value) in params {println!("{} = {}", key, value);}Ok(Response::new(Body::from("Hello, World!"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/90162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Matlab实现蚁群算法求解TSP问题(附上源码+数据)

蚁群算法&#xff08;Ant Colony Optimization, ACO&#xff09;是一种基于蚂蚁群体行为的启发式优化算法&#xff0c;它模拟了蚂蚁在寻找食物时的行为方式。在旅行商问题&#xff08;Traveling Salesman Problem, TSP&#xff09;中&#xff0c;蚁群算法可以用来求解最短路径问…

TikTok的伦理挑战:虚拟世界与现实世界的交汇

在数字时代&#xff0c;社交媒体平台已经不再只是一个信息传播的工具&#xff0c;它已经深刻地改变了我们的社交行为、价值观和伦理观。 而在这一领域的佼佼者之一&#xff0c;TikTok&#xff0c;正面临着伦理挑战&#xff0c;这是虚拟世界与现实世界交汇的产物。 本文将深入…

CompletableFuture-线程池运行选择

如果没有传入自定义线程池&#xff0c;都用默认线程池ForkJoinPool 传入一个线程池&#xff0c;如果你执行第一个任务时&#xff0c;传入了一个自定义线程池&#xff0c; 调用thenRun方法执行第二个任务时&#xff0c;则第二个任务和第一个任务时共用同一个线程池 调用thenRun…

Linux和本地Windows如何互传文件(sz和rz指令)

目录 关于 rzsz 注意事项 安装软件 rz的使用&#xff08;本地主机文件传到Windows中&#xff09; sz的使用(Linux中的文件传到本地Windows主机中) 关于 rzsz 这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件. 安装完毕之后可以通过直接拖拽的方式将文件…

计算机网络相关知识点

谈一谈对OSI七层模型和TCP/IP四层模型的理解&#xff1f; 这两种模型都是网络通信中重要的参考模型,他们的设计和功能有一些区别。 首先OSI&#xff0c;OSI七层模型&#xff0c;也被称为开放系统互联参考模型&#xff0c;是一种在国际标准化组织&#xff08;ISO&#xff09;中…

基于YOLOv8模型的蜜蜂目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要&#xff1a;基于YOLOv8模型的蜜蜂目标检测系统可用于日常生活中检测与定位蜜蜂目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的目标检测&#xff0c;另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训练数据集…

SPA项目之主页面--Mock.js以及组件通信(总线)的运用

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于VueElementUI的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Mock.js是什么 二.为什么要使用…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C#)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切&#xff08;ROI&#xff09;功能&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机的图像剪切&#xff08;ROI&#xff09;功能的技术背景CameraExplorer如何使用图像剪切&#xff08;ROI&#xff09;功…

C++:函数的概述

在C中&#xff0c;函数是用来执行特定任务或操作的独立的代码块。函数有助于将程序分解为较小的、可维护的部分&#xff0c;提高了代码的可读性、可重用性和模块性。下面是定义和使用C函数的一般步骤以及基本语法&#xff1a; 函数的作用&#xff1a; 函数用于封装一组相关的…

【Linux】线程安全

线程互斥互斥相关背景概念 互斥量mutex互斥量接口初始化互斥量函数销毁互斥量互斥量加锁互斥量解锁代码模拟 互斥量实现的逻辑常见锁的概念死锁什么叫做阻塞&#xff1f;产生死锁的四个必要条件如何避免死锁 Linux线程同步同步概念与竞态条件条件变量条件变量函数代码练习 条件…

pytest之parametrize()实现数据驱动

第一个参数是字符串&#xff0c;多个参数中间用逗号隔开 第二个参数是list,多组数据用元组类型;传三个或更多参数也是这样传。list的每个元素都是一个元组&#xff0c;元组里的每个元素和按参数顺序一一对应 传一个参数 pytest.mark.parametrize(‘参数名’&#xff0c;list)…

【Spring Boot】拦截器学习笔记

一、普通拦截器 1&#xff0c;新建类MyWebConfig实现WebMvcConfigurer&#xff0c;实现addInterceptors方法 Overridepublic void addInterceptors(InterceptorRegistry registry) {registry// 不拦截哪些请求.excludePathPatterns("/login")// 拦截哪些请求.addPat…

Kubernetes 上的数据已跨越鸿沟:在 GKE 上运行有状态应用程序的案例

Kubernetes 是当今云原生开发的事实上的标准。长期以来&#xff0c;Kubernetes 主要与无状态应用程序相关&#xff0c;例如 Web 和批处理应用程序。然而&#xff0c;与大多数事物一样&#xff0c;Kubernetes 也在不断发展。如今&#xff0c;我们看到 Kubernetes 上有状态应用程…

(二十八)mmdetection实用工具: Visualization

目录 一、基础绘制接口二、基础存储接口三、任意点位进行可视化 一、基础绘制接口 可视化器&#xff08;Visualizer&#xff09;&#xff1a;可视化器负责对模型的特征图、预测结果和训练过程中产生的结构化日志进行可视化&#xff0c;支持 Tensorboard 和 WanDB 等多种可视化…

在docker中删除none镜像

在构建过Docker镜像的电脑上查看本地镜像列表&#xff0c;有可能看到下图红框中的镜像&#xff0c;在列表中展示为:&#xff1a; 这种镜像在Docker官方文档中被称作dangling images&#xff0c;指的是没有标签并且没有被容器使用的镜像。 官方解释 来自官方的解释如下图红框所…

Springboot配置文件 - 多环境开发、自定义配置文件、多环境开发控制

文章目录 配置文件一、Yaml 文件1.1 修改banner1.2 日志1.3 端口1.4 属性提示消失解决方案 二、Properties 文件三、配置高级3.1 临时属性3.2 临时属性&#xff08;开发环境&#xff09;3.3 配置文件四级分类3.3.1 原始配置文件&#xff08;四级&#xff09;3.3.2 config目录下…

Rust vs C++ 深度比较

Rust由于其强大的安全性受到大量关注&#xff0c;被认为C在系统编程领域最强大的挑战者。本文从语言、框架等方面比较了两者的优缺点。原文: Rust vs C: An in-depth language comparison Rust和C的比较是开发人员最近的热门话题&#xff0c;两者之间有许多相似之处&#xff0c…

少数人的晚餐-补充

与此相关的四篇博客&#xff1a; 坦然~佛系~_坦然 佛系 zhangrelay-CSDN博客 少数人的晚餐_zhangrelay的博客-CSDN博客 ROS1/2机器人课程的价值和规模-CSDN博客 从2050回顾2020&#xff0c;职业规划与技术路径&#xff08;节选&#xff09;补充-CSDN博客 回顾 少数人的晚餐…

手把手教你制作精美的新店开业微传单

如果你准备开设一家新店&#xff0c;那么制作一份具有吸引力的微传单是宣传店铺的重要手段之一。下面&#xff0c;我们将通过乔拓云平台&#xff0c;手把手教你制作一份有吸引力的新店开业微传单。 1. 注册并登录乔拓云账号 首先&#xff0c;你需要在乔拓云官方网站注册一个账号…

加速企业AI实施:成功策略和效率方法

文章目录 写在前面面临的挑战MlOps简介好书推荐 写作末尾 写在前面 作为计算机科学领域的一个关键分支&#xff0c;机器学习在当今人工智能领域中占据着至关重要的地位&#xff0c;广受瞩目。机器学习通过深入分析大规模数据并总结其中的规律&#xff0c;为我们提供了解决许多…