【axios】get/post请求params/data传参总结

2023-11-12

axios中get/post请求方式

1. 前言

最近突然发现post请求可以使用params方式传值,然后想总结一下其中的用法。

2.1 分类

在这里插入图片描述
get请求中没有data传值方式
经过查阅资料,get请求是可以通过body传输数据的,但是许多工具类并不支持此功能。
在postman中,选择get请求后,body选项自动变为了灰色。
即,不建议使用此方式传输数据。

2.2 get请求

params

基础类型接收,名字对应即可

// method
const params = {
    id: '123456789',
    name: '张三'
}
test(params)

// api
export function test (params) {
  return axios({
    url: url,
    method: 'GET',
    params: params
  })
}

// 后台
@GetMapping("/test")
public Result test(Long id, String name) {
    return Res.ok();
}

使用Map接收,需要添加 RequestParam 注解

// method
const params = {
    id: '123456789',
    name: '张三'
}
test(params)

// api
export function test (params) {
  return axios({
    url: url,
    method: 'GET',
    params: params
  })
}

// 后台
@GetMapping("/test")
public Result test(@RequestParam Map<String, Object> map) {
    return Res.ok();
}

使用实体类接收

// 实体类
@Data
public class TestEntity {
    Long id;
    String name;
}

// method
const params = {
    id: '123456789',
    name: '张三'
}
test(params)

// api
export function test (params) {
  return axios({
    url: url,
    method: 'GET',	
    params: params
  })
}

// 后台
@GetMapping("/test")
public Result test(TestEntity testEntity) {
    return Res.ok();
}

ps: get请求不允许传递List,需要使用qs插件或者配置axios,具体参考链接

2.3 post请求

2.3.1 params 与 get方式相同

与get相似,基础类型接收,名字对应即可

// method
const params = {
    id: '123456789',
    name: '张三'
}
test(params)

// api
export function test (params) {
  return axios({
    url: url,
    method: 'POST',
    params: params
  })
}

// 后台
@PostMapping("/test")
public Result test(Long id, String name) {
    return Res.ok();
}

与get相似,使用map接收

// method
const params = {
    id: '123456789',
    name: '张三'
}
test(params)

// api
export function test (params) {
  return axios({
    url: url,
    method: 'POST',
    params: params
  })
}

// 后台
@PostMapping("/test")
public Result test(@RequestParam Map<String, Object> map) {
    return Res.ok();
}

与get相似,使用实体类接收

// 实体类
@Data
public class TestEntity {
    Long id;
    String name;
}

// method
const params = {
    id: '123456789',
    name: '张三'
}
test(params)

// api
export function test (params) {
  return axios({
    url: url,
    method: 'POST',	
    params: params
  })
}

// 后台
@PostMapping("/test")
public Result test(TestEntity testEntity) {
    return Res.ok();
}

2.3.2 data

使用实体类接收

// 实体类
@Data
public class TestEntity {
    Long id;
    String name;
}

// method
const params = {
    id: '123456789',
    name: '张三'
}
test(params)

// api
export function test (params) {
  return axios({
    url: url,
    method: 'POST',	
    data: params
  })
}

@PostMapping("/test")
public Result test(@RequestBody TestEntity testEntity) {
    return Res.ok();
}

4. 总结

总体来说,只要使用 params get与post请求基本是一样使用的,如果参数名与传递名称不一致,需要使用@RequestParam修饰,若使用Map接收参数,必须使用@RequestParam修饰。但是如果想传list类型的数据,需要使用单独的方法处理(参考链接)。
若使用data传递参数,必须使用一个实体类接收参数,而且需要添加注解@RequestBody进行修饰。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【axios】get/post请求params/data传参总结 的相关文章

  • 如何使用 UnboundID LDAP SDK 获取 LDAP 中的 DN 和用户 ID

    当我唯一的参数是用户 ID 时 我试图获取用户的 DN 可能不止一个 我还使用 UnboundID LDap SDK 如您所见 public String getCustomerAdminDN String uid String resul
  • 将 Uri 转换为字符串以及将字符串转换为 Uri

    我正在开发一些应用程序 它允许从 SD 卡中选择图像 将其保存到数据库中并为 ImageView 设置该值 我需要知道将 uri 转换为字符串以及将字符串转换为 uri 的方法 现在我使用了 Uri 的 getEncodedPath 方法
  • 文件写入器覆盖文件而不是附加到末尾时出现问题

    好的 我在将多行写入文本文件时遇到一些问题 程序运行 但不会每次都使用新行 当我希望它运行 4 次时 文本文件应如下所示 a b c d 相反 它看起来像 d 谁知道如何解决这个问题 所有导入均正确导入 来源 已稍加编辑 假设一切都已正确定
  • 在 Java 中,三个 true 输入的 XOR 返回 true。为什么?

    下面的代码 System out println 1 0 0 true false false System out println 1 0 1 true false true System out println 1 1 0 true t
  • Java 区域设置区分大小写

    我有以下代码来显示当前区域设置 System out println Locale getDefault System out println new Locale en US 上面给出的输出如下 en US en us 如何构造一个 Lo
  • 高负载应用程序的数据库可扩展性?

    我见过一些应用程序拥有集群 Web 服务器 例如 10 到 20 个服务器 以具有可扩展性 可以在其中分发 在网络服务器之间加载 但我总是看到所有网络服务器都使用单个数据库 现在考虑任何电子商务或铁路 Web 应用程序 其中有数百万用户在任
  • 转换为 JSON 后保留 XMLGregorianCalendar 日期格式 - Jackson Lib

    我有一个对象 它有 2 个 XMLGregorianCalendar 对象 一个用于日期 另一个用于时间 我使用 Jackson 对象映射器将日期转换为 JSON 格式 转换前的日期为2014年2月10日 时间为11 15 00 转换为 J
  • CreationException:无法在 Play 2.5.18 中创建注入器错误,以使用 com.google.inject.AbstractModule 替换 GlobalSettings Java 代码

    我正在将 Play 应用程序从 2 5 12 升级到 2 5 18 当我启动该应用程序时 使用sbt 我收到此错误 CreationException 无法创建注入器 看到以下错误 1 Error injecting constructor
  • 如何从网上获取源代码?

    我正在尝试从 Web 获取 HTML 源代码 我尝试这样做 u new URL url URLConnection con u openConnection con setRequestProperty User Agent Mozilla
  • 使用 JNDI 添加 LDAP 条目

    我正在尝试使用 JNDI 将条目添加到 LDAP 服务器 我可以成功地从 LDAP 服务器读取条目 但是当我尝试添加新条目时出现错误 我检查了各种方法但都失败了 private String getUserAttribs String se
  • egit:设置gitignore忽略所有eclipse项目文件

    我在 github 上有一个项目 我想从中删除所有与 eclipse 相关的文件 并允许克隆它的人使用他们想要的任何 ide 这是该项目 https github com vedi0boy Archipelo https github co
  • 使用 GSON 将 JSON 字符串转换为 Java 对象

    我正在尝试将 json 解析为 java 根据 jsonlint com 我有以下字符串 该字符串是有效的 json private final static String LOC JSON lat1 39 737567 lat2 32 7
  • 错误:找不到符号 ArrayList

    我正在尝试创建某种列表来存储数组 表 中的值 我在这里使用数组列表 但我应该使用列表吗 但是 每次我尝试编译时 它都会引发以下错误 找不到标志 符号 ArrayList类 位置 玩家类 TablePlayer 代码如下 public cla
  • 在硬件级别模拟按键 - Windows

    我正在寻找一种语言或库 使我能够在最大可能的水平上模拟击键 而无需实际按下按键 我对击键级别的具体衡量标准是 当我的计算机已经运行按键侦听器 例如鼠标键和粘滞键 时 它是否会产生与物理按键相同的输出 我尝试过很多击键模拟的方法 java A
  • 用 Java 编写“漂亮”代码的标准? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Jersey:返回字符串列表

    我尝试以 JSON 和 XML 形式返回 Jersey 中的字符串列表 我以为这会是微不足道的 我的第一次尝试是写这样的东西 GET Produces MediaType APPLICATION JSON MediaType APPLICA
  • 在 Android 版 ORMLite 中加入类会引发 SQL 异常:找不到外部类,反之亦然

    我正在尝试使用 QueryBuilder 为两个不同的类创建一个联接查询 一个Product类和一个Coupon类 引用 Product 属性 storeId public class Coupon DatabaseField column
  • Spring MVC 和复选框

    我正在使用 Spring MVC 3 0 并且不能完全看到这个问题的所有部分 我的控制器将生成一个域对象列表 假设有一个简单的 User 对象 具有firstName lastName age 和role 属性 我想在表中输出该用户列表 每
  • 无法以联觉方式绘制像素、Pi 数

    我想将 pi 数字的每个数字打印为彩色像素 因此 我得到一个带有 pi 数字的输入 然后将其解析为一个列表 每个节点包含一个数字 我知道 稍后我将使用一个数组 但我从来没有把它画到屏幕上 有人能帮我看看我错在哪里吗 import java
  • 应用程序中 GC 长时间暂停

    我当前运行的应用程序需要最大堆大小为 16GB 目前我使用以下标志来处理垃圾收集 XX UseParNewGC XX UseConcMarkSweepGC XX CMSInitiatingOccupancyFraction 50 XX Di

随机推荐

  • IPV6网络地址

    目录 1 IPV6地址简介 2 IPV6地址与分类 2 1 单播地址 2 2 组播 Multicast 地址 2 3 任意播 Anycast 地址 3 总结 1 IPV6地址简介 地址长度 128bit V4地址只有32bit IP标识方法
  • 【Unity3D】如何在uniyt中切换画布实现切换界面的交互操作

    我们在切换不同界面的时候 时常会用到切换场景的操作 如果在一个场景里就可以去实现切换界面的时候 若再使用切换场景来实现 会占用很大的空间 不妨在一个场景里使用切换画布的方法来实现切换界面的交互操作 1 在unity场景中添加两个画布以及文本
  • 汽车LiDAR的“先行者”——机械式LiDAR

    转自 http www mems me mems system integrator 201711 5547 html http www mems me mems system integrator 201711 5636 html 机械式
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>

    目录 一 工作环境及项目简介 二 原理图设计 1 核心板 电源电路 板对板连接器 复位电路 晶振电路 主控电路 2 底板 串口转USB电路 TF卡电路 WIFI电路 TFT屏幕 音频 板对板连接器 40Pin4 3寸屏幕 三 PCB展示 四
  • [spring处理webservice报文] 1 spring如何搭建webservice服务

    目录 1 背景 2 sping里头搭建webservice 2 1 wsapplication 2 2 futurwebservice 2 3 futurewebserviceimpl 2 4 webserviceconfig 3 soap
  • 画心形图 C#

    public static PointF Random PointF P PointF Center float R float Math Sqrt P X Center X P X Center X P Y Center Y P Y Ce
  • Redis(主从复制、哨兵模式、集群)概述及部署

    Redis主从复制 Redis主从复制的概念 主从复制 是指将一台Redis服务器的数据 复制到其他的Redis服务器 前者称为主节点 Master 后者称为从节点 Slave 数据的复制是单向的 只能由主节点到从节点 默认情况下 每台Re
  • Python练习题——阶乘累计求和

    题目来源 Python语言程序设计 中国大学MOOC 授课老师 嵩天 黄天羽 礼欣 题目描述 获得用户输入的整数n 输出 1 2 n 的值 如果输入数值为0 负数 非数字或非整数 输出提示信息 输入有误 请输入正整数 方法一 factTes
  • vue : 无法加载文件 C:\Users\jianfei\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。...

    背景 在新电脑上配置vue环境 PS E CODE PROJ myvue vue23 P61 使用脚手架 vue test gt npm install g vue cli npm WARN deprecated source map ur
  • python——class类和方法的用法详解

    因为一直不太清楚面向对象的类和方法的编程思想 所以特地补了一下python class的知识 在这里记录和分享一下 文章目录 类和方法的概念和实例 1 python类 class 2 类的构造方法 init 3 类中方法的参数 self 4
  • Redis持久化机制

    目录 Redis的持久化 RDB Redis会在以下几种情况下对数据进行快照 AOF append only file AOF的实现 AOF的重写原理 Redis的持久化 Redis支持两种方式的持久化 一种是RDB方式 另一种是AOF a
  • 一个完整的性能测试流程

    下午逛一个测试交流群时 聊起性能测试 然后某位群成员说他们用的loadrunner做性能 当时觉得这话有点偏颇 虽然我也是一个性能测试道路上的摸索前进者 诚然 我们在进行性能测试工作的过程中 需要借助工具的辅助来帮我们完成一些工作 但loa
  • 计算机存储容量单位读法及换算B、KB、MB、GB、TB、PB、EB、ZB、YB、RB、QB

    1KB 1024B 1MB 1024KB 1024 1024B 1B byte 字节 8 bit 位 比特 1KB Kilobyte 千字节 1024 B 2 10 B 1MB Megabyte 兆字节 百万字节 简称 兆 1024 KB
  • 2023国赛数学建模B题思路代码 - 多波束测线问题

    1 赛题 B 题 多波束测线问题 单波束测深是利用声波在水中的传播特性来测量水体深度的技术 声波在均匀介质中作匀 速直线传播 在不同界面上产生反射 利用这一原理 从测量船换能器垂直向海底发射声波信 号 并记录从声波发射到信号接收的传播时间
  • C++ 中栈对象的使用总结、RAII

    背景 栈区用于存放函数的参数 局部变量 返回值等 栈区的数据由编译器自动进行分配 在作用域内有效 在超出变量作用域后 栈中数据由编译器自动释放 栈内存分配运算内置于处理器的指令集 效率高 但是分配的内存容量有限 栈对象 栈对象在创建时会自动
  • yagmail发送附件

    效果图 经测试代码 导入yagmail第三方库 import yagmail yagmail SMTP user 邮箱名 host SMTP服务器域名 yag yagmail SMTP user 284036658 qq com host
  • 程序员的自我修养——链接,装载与库(一)

    程序员的自我修养 链接 装载与库这本书看了差不多有一个多月了 这本书讲了很多计算机底层的知识 也补充了我的知识盲区 但是感觉看完以后前面有的知识有遗忘 因此就想好好的总结一下 也可以更好的理解这本书 计算机三个最重要的硬件是 中央处理器CP
  • Linux用户与用户组

    Linux目录详解 目录名 说明 bin 重要的二进制 binary 应用程序 包含二进制文件 系统的所有用户使用的命令都在这个目录下 boot 启动 boot 配置文件 包含引导加载程序相关的文件 开机时用到的引导文件 data 数据存储
  • 事件驱动框架(五)——框架的实现

    事件驱动框架 五 框架的实现 说明 这里先描述一下QP的一些策略和源码 因为某原因这个系列先停更 后面主要是内核介绍 实现 1 临界区 临界区内每次只准许一个线程 进程 进入 进入后不允许其他线程 进程 进入 因此临界区的代码不可分割 在嵌
  • 【axios】get/post请求params/data传参总结

    axios中get post请求方式 1 前言 最近突然发现post请求可以使用params方式传值 然后想总结一下其中的用法 2 1 分类 get请求中没有data传值方式 经过查阅资料 get请求是可以通过body传输数据的 但是许多工