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

Vue axios在Spring Boot 的 Controller中接收数组类型的参数

在 Spring Boot 的 Controller 中,你定义了一个 POST 请求的接口,该接口接收两个参数:一个 String 类型的 ip 参数和一个 String[] 类型的 domain 参数。现在我们来看看如何使用 Vue 的 axios 发送 POST 请求来调用这个接口。

Spring Boot Controller 示例

@PostMapping("/blockipdomainbytenantcdn")
public ResultMap blockIpDomainByTenantcdn(@RequestParam("ip") String ip, @RequestParam("domain") String[] domain) {// 处理逻辑return new ResultMap();
}

Vue 中使用 axios 调用接口

在 Vue 中,使用 axios 发送 POST 请求时,你可以通过 FormDataURLSearchParams 的形式来传递 @RequestParam 参数。

1. 使用 axios 发送 POST 请求
import axios from 'axios';const ip = '192.168.1.1';
const domain = ['example.com', 'test.com'];// 使用 URLSearchParams 来传递参数
const params = new URLSearchParams();
params.append('ip', ip);
domain.forEach(d => params.append('domain', d));axios.post('/blockipdomainbytenantcdn', params).then(response => {console.log(response.data);}).catch(error => {console.error(error);});

说明

  1. URLSearchParams:我们使用 URLSearchParams 来构建表单参数。append 方法用于向参数列表中添加一个键值对。对于数组 domain,需要对每个元素调用 append 方法,确保参数以 domain=example.com&domain=test.com 的格式发送。

  2. axios.postaxios.post 方法发送 POST 请求,并将 params 作为请求体传递。

生成的请求体

通过这种方式,axios 会发送一个 application/x-www-form-urlencoded 类型的请求,生成的请求体会类似于:

ip=192.168.1.1&domain=example.com&domain=test.com

处理响应

then 方法中处理服务器返回的响应数据,并在 catch 方法中处理可能发生的错误。


a. 探索如何在 POST 请求中使用 JSON 格式发送数据。

b. 学习如何在 axios 请求中添加自定义头信息(如 Content-TypeAuthorization 等)。


http://www.mrgr.cn/news/10955.html

相关文章:

  • 视觉SLAM十四讲-理论到实践课程作业笔记-第六讲-光流法和直接法
  • 数据仓库系列8:如何设计一个高性能的数据仓库模型?
  • 滴滴出行:分布式数据库的架构演进之路|OceanBase案例
  • 【Linux】第十七章 多路转接(select+poll+epoll)
  • Java 使用ListUtils对List分页处理
  • 什么时候用render_template,什么时候用Ajax?
  • 深度学习-11-为什么AI需要GPU
  • ROS2 CMakeLists.txt package.xml
  • 国产游戏技术:创新驱动下的全球影响力
  • [多线程] linux中的线程调度策略
  • java继承详解
  • WPF中的XAML是如何转换成对象的?
  • SpringCache源码解析(一)-Annotation
  • Linux入门——06 基础IO
  • 怎么自定义spring security对用户信息进行校验及密码的加密校验
  • 深度学习--负采样技术及其扩展详解
  • 卡通人物表白/生日快乐网站源码html
  • 原生JS实现鼠标下滑模块自定位
  • wooyu漏洞库YYDS!!!入门之道:重现乌云漏洞库
  • 汇编基础指令