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

Javaweb基础-axios

Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中。

GET方法

get请求第一种写法

//后端
@Slf4j
@RestController
@RequestMapping("/demo")
public class DemoController {@RequestMapping("/getTest")// 被@RequestParam标记的参数必传,并且参数名前后端一致public Map<String, Object> getTest(@RequestParam String param) {log.info("入参:{}", param);HashMap<String, Object> map = new HashMap<>(2);map.put("param", param);log.info("出参:{}", map);return map;}
}
//axios
export default {name: 'App',methods: {getTest: function () {this.$axios({method: "GET",        //方法url: "/demo/getTest", //访问路径params: {             //参数 把参数拼接到url后面=》/demo/getTest?param=hiparam: "hi"        // 后端被@RequestParam标记的参数名为param}}).then(res => {        //返回参数console.log(res)}).catch(err => {       //异常alert(err)})}}
}

get请求第二种写法

//后端
@Slf4j
@RestController
@RequestMapping("/demo")
public class DemoController {@RequestMapping("/getTest")// 被@RequestParam标记的参数必传,并且参数名前后端一致public Map<String, Object> getTest(@RequestParam String param) {log.info("入参:{}", param);HashMap<String, Object> map = new HashMap<>(2);map.put("param", param);log.info("出参:{}", map);return map;}
}
//axios
export default {name: 'App',methods: {getTest2: function () {this.$axios.get("/demo/getTest?param=hello")    //方法名("访问路径?参数名=参数值"),.then(res => {                       //返回数据console.log(res)}).catch(err => {                      //异常alert(err)})},}
}

get请求发送的请求不能使用被@RequestBody标记的对象接收。

POST方法

post请求第一种写法

    //后端@RequestMapping(value = "/postTest", method = RequestMethod.POST)//被@RequestParam标记的参数必传,并且参数名前后端一致public Map<String, Object> postTest(@RequestParam String param) {log.info("入参:{}", param);HashMap<String, Object> map = new HashMap<>(2);map.put("param", param);log.info("出参:{}", map);return map;}//axios
export default {name: 'App',methods: {postTest: function () {this.$axios({method: "POST",            //方法url: "/demo/postTest",     //路径params: {                  //params中的参数被拼接到url后面=》/demo/getTest?param=hiparam: "hi"              //post请求中后端使用@RequestParam接参数,使用params}}).then(res => {console.log(res)}).catch(err => {alert(err)})},}
}  
// axios等价于
export default {name: 'App',methods: {postTest: function () {this.$axios.post("/demo/postTest?param=hi") .then(res => {console.log(res)}).catch(err => {alert(err)}) },}
} 

get请求发送的请求时能使用被@RequestBody标记的对象接收。

//后端@RequestMapping(value = "/postTest2", method = RequestMethod.POST)public Map<String, Object> postTest2(@RequestBody Map param) {log.info("入参:{}", param);HashMap<String, Object> map = new HashMap<>(2);map.put("param", param);log.info("出参:{}", map);return map;}
//axios
export default {name: 'App',methods: {postTest: function () {this.$axios({method: "POST",            //方法url: "/demo/postTest2",     //路径data: {                  //data中的参数被放置在请求体当中,使用@RequestBody标记的对象接收param: "hi"       }}).then(res => {console.log(res)}).catch(err => {alert(err)})},}
}  

其他方法

delete(url: string);

export default {name: 'App',methods: {//第一种deleteTest: function () {this.$axios({method: "DELETE",url: "/demo/deleteTest",params: {param: "hi"    //同样使用params}}).then(res => {console.log(res)}).catch(err => {alert(err)})},//第二种deleteTest1: function () {this.$axios.delete("/demo/deleteTest?param=hi").then(res => {console.log(res)}).catch(err => {alert(err)})},}
}

head(url: string);

export default {name: 'App',methods: {headTest: function () {this.$axios({method: "HEAD",url: "/demo/headTest",params: {param: "hi"   //同样使用params}}).then(res => {console.log(res)}).catch(err => {alert(err)})},headTest1: function () {this.$axios.head("/demo/headTest?param=hi").then(res => {console.log(res)}).catch(err => {alert(err)})},}
}

options(url: string);

export default {name: 'App',methods: {optionsTest: function () {this.$axios({method: "OPTIONS",url: "/demo/optionsTest",params: {param: "hi"   //同样使用params}}).then(res => {console.log(res)}).catch(err => {alert(err)})},optionsTest1: function () {this.$axios.options("/demo/optionsTest?param=hi").then(res => {console.log(res)}).catch(err => {alert(err)})},}
}

put(url: string, data?: any);

export default {name: 'App',methods: {putTest: function () {this.$axios({method: "PUT",url: "/demo/putTest",data: {param: "hello"    //使用data和params都可以}                    //data放置在请求体,params拼接在请求路径}).then(res => {console.log(res)}).catch(err => {alert(err)})},putTest1: function () {this.$axios.put("/demo/putTest", {param: "hello"}).then(res => {console.log(res)}).catch(err => {alert(err)})},}
}

patch(url: string, data?: any);

export default {name: 'App',methods: {patchTest: function () {this.$axios({method: "PATCH",url: "/demo/patchTest",data: {param: "hello"     //使用data和params都可以}                    //data放置在请求体,params拼接在请求路径}).then(res => {console.log(res)}).catch(err => {alert(err)})},patchTest1: function () {this.$axios.patch("/demo/patchTest", {param: "hello"},).then(res => {console.log(res)}).catch(err => {alert(err)})},}
}

相关文章:

Javaweb基础-axios

Axios 是一个基于 Promise 的 HTTP 库&#xff0c;可以用在浏览器和 node.js 中。 GET方法 get请求第一种写法 //后端 Slf4j RestController RequestMapping("/demo") public class DemoController {RequestMapping("/getTest")// 被RequestParam标记的参数…...

智能EDA小白从0开始 —— DAY20 OrCAD

以下是对OrCAD和MATLAB两种EDA工具的深入解析&#xff0c;内容扩展至约2220字&#xff1a; OrCAD&#xff1a;电子设计自动化的强大工具 OrCAD&#xff0c;作为电子设计自动化&#xff08;EDA&#xff09;领域的佼佼者&#xff0c;为电子工程师们提供了一套全面的设计解决方案…...

C# WebApi 接口测试工具:WebApiTestClient应用技术详解

目录 一、引言 二、WebApiTestClient介绍 1、特性 2、应用场景 三、WebApiTestClient具体使用 1、WebApi项目引入组件 2、如何使用组件 1、修改Api.cshtml文件 2、配置读取注释的xml路径 3、测试接口 四、总结 一、引言 由于最近项目需要开发WebApi接口&…...

Qt_ymode自己实现

文章内容: 通过Qt实现Ymode协议的封装。通过传入的数据从里面一包一包拿数据。可以用作平时串口和网口的通信。也可以用来程序升级。 #include "ymodem.h"Ymodem::Ymodem() {m_data = nullptr; }Ymodem...

5.3章节python中字典:字典创建、元素访问、相关操作

1.字典的创建和删除 2.字典的访问和遍历 3.字典的相关操作 4.字典的生成式 一、字典的创建和删除 字典&#xff08;dictionary&#xff09;是一种用于存储键值对&#xff08;key-value pairs&#xff09;的数据结构。每个键&#xff08;key&#xff09;都映射到一个值&#xf…...

ECCV2024 Tracking 汇总

一、OneTrack: Demystifying the Conflict Between Detection and Tracking in End-to-End 3D Trackers paper&#xff1a; https://www.ecva.net/papers/eccv_2024/papers_ECCV/papers/01174.pdf 二、VETRA: A Dataset for Vehicle Tracking in Aerial Imagery paper&#…...

C语言知识点

命名规则&#xff1a; 字符组成&#xff1a;标识符只能由字母&#xff08;A~Z&#xff0c;a~z&#xff09;、数字&#xff08;0~9&#xff09;和下划线&#xff08;_&#xff09;组成。首字符要求&#xff1a;标识符的第一个字符必须是字母或下划线&#xff0c;不能是数字。长…...

ICMP协议以及ARP欺骗攻击

ping 命令使用的是 ICMP&#xff08;Internet Control Message Protocol&#xff09;协议&#xff0c;而不是 TCP 或 UDP 协议。因此&#xff0c;ping 命令并不使用特定的端口号。 ICMP 协议 ICMP 是一种网络层协议&#xff0c;主要用于在 IP 网络中传递控制消息。ping 命令利…...

qt5.12.12插件机制无法加载插件问题

环境&#xff1a;win11 vs2015 qt5.12.12 问题描述&#xff1a;确保插件代码正确的情况下&#xff0c;无法解析插件接口&#xff08;即QPluginLoader类的instance(); 返回为空&#xff09;。 问题现象&#xff1a;1、qt5.12.12的debug下无法解析&#xff1b;2、release下禁…...

机器学习面试笔试知识点-线性回归、逻辑回归(Logistics Regression)和支持向量机(SVM)

机器学习面试笔试知识点-线性回归、逻辑回归Logistics Regression和支持向量机SVM 一、线性回归1.线性回归的假设函数2.线性回归的损失函数(Loss Function)两者区别3.简述岭回归与Lasso回归以及使用场景4.什么场景下用L1、L2正则化5.什么是ElasticNet回归6.ElasticNet回归的使…...

SpringBoot民宿预订系统设计与实现

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…...

linux环境下C程序的编译过程以及makefile的简单使用

在windows下&#xff0c;很多用来进行编程软件对于写好的文件&#xff0c;点击编译即可生成想要文件。如.exe可执行文件&#xff0c;.hex文件或者.bin文件等等。软件为我们省略了很多事。但是对于linux初学者来说&#xff0c;初次接触linux系统&#xff0c;面对命令行黑框框有点…...

【从零开始的LeetCode-算法】945. 使数组唯一的最小增量

给你一个整数数组 nums 。每次 move 操作将会选择任意一个满足 0 < i < nums.length 的下标 i&#xff0c;并将 nums[i] 递增 1。 返回使 nums 中的每个值都变成唯一的所需要的最少操作次数。 生成的测试用例保证答案在 32 位整数范围内。 示例 1&#xff1a; 输入&am…...

Java程序设计:spring boot(2)

目录 1 Spring MVC 零配置创建与部署 1.1 创建Spring MVC Web⼯程 1.2 pom.xml 添加坐标相关配置 1.3 添加源代码 1.4 添加视图 1.5 SpringMVC 配置类添加 1.6 入口文件代码添加 1.7 部署与测试 2 Spring Boot 概念&特点 2.1 框架概念 2.2 框架特点 2.3 Spring…...

服务器运维监控平台

云监控平台-简介 一&#xff1a;简介 “phoenix” 是一个灵活可配置的开源监控平台&#xff0c;主要用于监控应用程序、服务器、docker、数据库、网络、tcp 端口和 http 接口&#xff0c;通过实时收集、汇聚和分析监控信息&#xff0c;实现在发现异常时立刻推送告警信息&…...

css中 global 和 deep(两个样式穿透) 区别

1.:global(selector)&#xff1a;这个伪类选择器会选择所有全局的、未被其他样式表覆盖的元素。换句话说&#xff0c;它会匹配所有没有被其他样式表&#xff08;例如内联样式或外部样式表&#xff09;所影响的元素。 :global(p) {color: red; }这段代码会将所有 <p> 元素…...

【星闪技术】WS63E模块的WiFi客户端测试

引言 我所计划的WS63E测试要实现MQTT联网&#xff0c;所以首先需要确保开发板连接WiFi。今天来测试一下WiFi功能。 程序分析 WiFi客户端的例子在src/application/samples/wifi/sta_sample目录下。这个例子看上去和hi3861的例子差不多。 这段程序是一个用于嵌入式设备的Wi-F…...

Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 面试题目1&#xff1a;Kotlin中的协程与线程的区别是什么&#xff1f;如何在Android中使用协程进行异步编程&#xff1f; 解答&#xff1a; 协…...

操作系统 和 初识进程

目录 操作系统&#xff08;OS&#xff09; 进程 操作系统&#xff08;OS&#xff09; 概念 操作系统即os&#xff0c;是一款软件。 任何计算机系统都包含一个基本的程序集合&#xff0c;称为操作系统(OS)。 操作系统的本质是一种进行软硬件管理的软件 笼统的理解&#xf…...

QT--Qlabel学习、获取文本和设置文本、文本对齐方式、文本换行、显示图片

QLabel 是 Qt 中的标签类&#xff0c;通常用于显示提示性的文本&#xff0c;也可以显示图像 对齐方式 用于设置标签中的内容在水平和垂直两个方向上的对齐方式&#xff0c;比如左对齐、右对齐、上对齐、下对齐、水平居中、垂直居中等。 // 获取和设置文本的对齐方式 Qt::Ali…...

深度学习:终身学习(Life-Long Learning)详解

终身学习&#xff08;Life-Long Learning&#xff09;详解 终身学习&#xff08;也称为持续学习或增量学习&#xff09;是机器学习中的一个重要研究领域&#xff0c;它关注如何使机器学习模型在完成一系列任务后&#xff0c;能够持续学习新任务&#xff0c;而不会忘记之前学到…...

前端UI框架

组件UI类 1.Element-Plus 2.uView 3.Vant 4.TDesign 5.uni-app 6.Tuniao-vue3 7. 可视化图标类 1.可视化图标VUE Data UI 2.Echart 图标库ICON 1.yesicon 2.Flaticon 3.Google Fonts 4.fontawesome 5.阿里巴巴 其他 1.CSS布局 2.web前端样式布局 3.中国色-颜色合集 托管…...

最佳副屏串流解决方案:如何低成本打造电脑拓展副屏?

如何低成本打造电脑拓展副屏&#xff1f;如果你有一台平板和一台电脑&#xff0c;想要提高打游戏、办公或是学习的效率。那么&#xff0c;使用网易GameViewer远程&#xff0c;就能帮你低成本打造电脑拓展副屏。 简单来说&#xff0c;副屏串流就是能让你多出一块显示屏。在打游戏…...

SQL Injection | SQL 注入概述

关注这个漏洞的其他相关笔记&#xff1a;SQL 注入漏洞 - 学习手册-CSDN博客 0x01&#xff1a;SQL 注入漏洞介绍 SQL 注入就是指 Web 应用程序对用户输入数据的合法性没有判断&#xff0c;前端传入后端的参数是可控的&#xff0c;并且参数会带入到数据库中执行&#xff0c;导致…...

【Linux 从基础到进阶】磁盘I/O性能调优

磁盘I/O性能调优 1. 引言 磁盘I/O性能是决定服务器整体性能的关键因素之一。磁盘I/O性能的瓶颈常常会影响数据库、文件系统以及虚拟化平台等关键应用的响应时间。因此&#xff0c;磁盘I/O调优是系统管理员不可忽视的任务。 本文将介绍影响磁盘I/O性能的主要因素&#xff0c;…...

浅谈AGI时代的“数据枢纽”——向量数据库

一、前言 人工智能的关键&#xff0c;不只是构建好算力、算法、模型&#xff0c;更重要的是做好数据的清洗、处理、挖掘等问题。一定程度上&#xff0c;智能时代&#xff0c;企业数据处理能力有多强&#xff0c;决定了业务发展的天花板有多高。 在企业数智化转型过程中&#x…...

生成 Excel 表列名称

Excel 大家都用过&#xff0c;它的列名是用字母编号的&#xff0c;A 表示第一列&#xff0c;B 表示第二列&#xff0c;AA 表示第27列&#xff0c;AB 表示第28列等等。 现给定一个数字&#xff0c;如何得到列名称呢。比如输入28&#xff0c;输出 AB。 一开始以为就是一个简单的…...

基于yolov10的烟雾明火检测森林火灾系统python源码+pytorch模型+评估指标曲线+精美GUI界面+数据集

【算法介绍】 基于YOLOv10的烟雾明火检测森林火灾系统是一种先进的火灾预警系统&#xff0c;它结合了深度学习和计算机视觉技术&#xff0c;能够实时检测和分析森林中的烟雾和明火&#xff0c;从而有效预防和控制森林火灾的发生。 该系统主要基于YOLOv10模型进行构建&#xf…...

UltraISO(软碟通)制作U盘制作Ubuntu20.04启动盘

目录 一、启动盘制作 1、工具准备 2、打开UltraISO后&#xff0c;点击左上角的文件&#xff0c;在打开的下拉项中&#xff0c;选择打开准备好的Ubuntu系统20.04 LTS镜像文件(ubuntu-20.04-desktop-amd64.iso)&#xff1b; 3、然后点击启动->写入硬盘映像 4、在弹出的窗…...

【EtherCAT实践篇一】TwinCAT 3安装、使用

TwinCAT 基于 PC 的开放式控制技术 倍福推出的基于 PC 的控制技术定义了自动化领域的全球标准。在软件方面&#xff0c;1996 年推出的 TwinCAT&#xff08;The Windows Control and Automation Technology&#xff0c;基于 Windows 的控制和自动化技术&#xff09;自动化套件是…...