当前位置: 首页 > 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…...

深入解析C语言位运算与操作符

目录 1. 原码&#xff0c;反码&#xff0c;补码 2. 移位操作符 2.1 左移操作符 2.2 右移操作符 3. 位操作符&#xff1a;&&#xff0c;|&#xff0c;^&#xff0c;~ 3.1 按位与&#xff1a;& 3.2 按位或&#xff1a;| 3.3 按位异或&#xff1a;^ 3.4 按位取反&…...

vue 求助

这个浅灰色的背景框怎么改啊&#xff0c;没招了...

Shell脚本进阶:如何用while循环处理未知次数的任务(避坑指南)

Shell脚本进阶&#xff1a;while循环处理未知次数任务的实战艺术 在Linux系统管理和自动化运维领域&#xff0c;Shell脚本是不可或缺的利器。当我们面对需要重复执行但次数未知的任务时&#xff0c;while循环展现出其独特的价值。与for循环不同&#xff0c;while循环不依赖预先…...

3种核心能力解锁网页资源捕获:猫抓浏览器工具全解析

3种核心能力解锁网页资源捕获&#xff1a;猫抓浏览器工具全解析 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓(cat-catch)是一款专业的浏览器…...

2025届必备的六大降重复率工具解析与推荐

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在人工智能技术以迅猛之势发展的当下&#xff0c;AI辅助毕业论文写作已然成为学术研究范畴里…...

从Alpine“偷”库到魔改源码:一个.NET老鸟的HarmonyOS适配踩坑实录

从Alpine“偷”库到魔改源码&#xff1a;一个.NET老鸟的HarmonyOS适配踩坑实录 1. 当.NET运行时遇上鸿蒙的"铁壁"seccomp 作为一名在.NET生态深耕十年的老开发者&#xff0c;我从未想过有一天会为了适配一个新系统而不得不深入运行时底层。这一切始于去年在.NET Conf…...

用Go搞定微信扫码登录:一个后端接口+一个回调,附完整可运行代码

极简Go实现微信扫码登录&#xff1a;两个接口搞定全流程 每次看到新项目要接入微信登录就头疼&#xff1f;文档翻来覆去看不明白&#xff1f;其实用Go实现微信扫码登录&#xff0c;核心代码不超过200行。今天我们就用最粗暴的方式&#xff0c;把微信OAuth2.0登录简化为两个接口…...

新手零基础入门:在快马平台上运行你的第一个yolov8检测程序

今天想和大家分享一个特别适合机器学习新手的实践项目——用yolov8完成第一个目标检测程序。作为刚接触计算机视觉的小白&#xff0c;我最初被各种环境配置和术语搞得晕头转向&#xff0c;直到发现用InsCode(快马)平台可以跳过繁琐的步骤&#xff0c;直接体验模型效果。 为什么…...

12. C++14新特性-字符串操作与标准用户定义字面量

一、引言C11 引入了用户定义字面量&#xff08;User-Defined Literals, UDL&#xff09;的底层机制&#xff0c;允许开发者通过重载 operator "" 为基础类型附加上下文语义。然而&#xff0c;C11 标准库自身并未提供预置的后缀实现。C14 填补了这一标准库层面的空白&…...

大麦网抢票背后的技术攻防:从Charles抓包到协议逆向,聊聊自动化工具的安全与合规边界

大麦网抢票技术解析&#xff1a;从协议分析到自动化工具的安全边界 每次热门演唱会门票开售时&#xff0c;大麦网服务器承受的瞬时流量堪比双十一。作为技术从业者&#xff0c;我们更关注这背后的技术博弈——票务系统如何抵御自动化工具&#xff1f;开发者又如何突破这些限制…...