axios传递数据到java_axios 传输与springboot后台接收数据
axios
使用不再说明,直指常见问题元凶:
1.get(url[, config])和post(url[, data[, config]]),注意参数
get是在config中设置params{params:{...} }
post是设置data字段
详细看文档(在post里面用params会把参数放到url里的)
2.headers中的Content-Type,视乎请求方式(GET/POST等)的不同,有不同默认值和处理方式
3.post方式中
// data 是作为请求主体被发送的数据
// 只适用于这些请求方法 'PUT', 'POST', 和 'PATCH'
// 在没有设置 transformRequest 时,必须是以下类型之一:
// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
// - 浏览器专属:FormData, File, Blob
// - Node 专属: Stream
content-type默认情况下将被正确设置。其他不合情景的类型由JSON.stringify()处理为字符串,且content-type为application/json。手动设置content-type并不影响这个处理逻辑。
对于data是一个普通对象,想以application/x-www-form-urlencoded正确post传输(即html表单的post提交方式)
简易解决方法:
(1)axios.post('/api/login', 'a=1&b=2' ) 我们自己直接写成符合的字符串
(2)使用URLSearchParams或者qs库进行处理,没啥好办法了。
4.get方式中
// params 是即将与请求一起发送的 URL 参数
// 必须是一个无格式对象(plain object)或 URLSearchParams 对象
get方式通常无需指定content-type,因此控制台中可能看不到application/x-www-form-urlencoded这个。但这里无论是plain object还是URLSearchParams对象,都不会被JSON.stringify()处理,最终均以a=1&b=2这种形式放入url中进行提交。
springboot后台
1.@RequestParam 可正确注入Content-Type为application/x-www-form-urlencoded和multiple/form-data传输的参数。另外由于约定优于配置,该注解可省略
2.@RequestBody 可正确注入Content-Type为application/json传输的参数。此时写一个与该json对应的java类即可对应注入。不想多写一个java类的话可以直接用Map代替,反正有键值对这样的结构就行。
3.springboot根据情况自行判断该参数到底用@RequestParam还是@RequestBody注入,可以偷懒。出现问题时,请手动指明
4.前端发来multipart/form-data,含有文件
一个文件时:public String upload (MultipartFile file),提醒,参数file要对应前端发来的参数名,否则手动使用@RequestParam指明
多个文件时用数组/集合存:public String upload (MultipartFile[] files)
axios传递数据到java_axios 传输与springboot后台接收数据相关推荐
- 基于BC95的数据转发,利用Python实现UDP接收数据,TCP转发数据
基于BC95的数据转发,利用Python实现UDP接收数据,TCP转发数据 文章信息 环境信息 系统概览 基于Python的UDP(服务端)数据接收 1. UDP接受的数据如何读取 文章信息 撰写日期 ...
- iOS开发- 蓝牙后台接收数据(BLE4.0)
最近在做一个蓝牙相关的项目, 需要在应用进入后台, 或者手机属于锁屏状态的情况下, 仍然保持蓝牙连接, 并且能正常接收数据. 本来以后会很麻烦, 但是学习了下..发现就2步而已.简单的不能再简单了. ...
- springboot 后台把数据制作成excel表格并打成压缩包下载
项目里面遇到要把数据做成资料卡片,然后写入单独的excel文件,之后打成压缩包下载.这个过程记录一下,希望对大家有用. 1.在controller里面开个口子,接收客户端的请求.由于vue里面用了do ...
- Springboot后台接收前端Date类型
From: https://my.oschina.net/zicheng/blog/2963117 这个问题不是专门针对Springboot的,Springmvc也同样适用于这一个问题. 昨的是Spr ...
- python 抓网卡数据包_Python选择网卡发包及接收数据包
当一台计算机上有多个网卡时,需要选择对应IP地址的网卡进行发送数据包或者接受数据包. 1.选择网卡发包(应用scapy):plface=conf.route.route("××.××.××. ...
- 动态添加后的数据转换 — 后台接收数据
let data = this.projectPersonnel.map(item => {let obj = {}obj.member = item.people.map(info => ...
- Springboot构建Echarts数据可视化
Spring boot集成了tomcat等容器,效率更高,要实现数据的可视化,需要构建spring Boot框架架构web项目.同时使用注意的方式,就可以轻松建立前端访问路径与后端controller ...
- 前台传递JSON数据,后台spring mvc如何接收数据
如何传递JSON数据到后台? 方式一, 使用post请求,请求类型为:application/x-www-form-urlencoded; charset=UTF-8 $.ajax({url : ur ...
- 监视和调整Linux网络协议栈:接收数据
Table of Contents 有关监视和调整Linux网络协议栈的建议 总览 详细外观 网络设备驱动程序 初始化 网络设备初始化 启动网络设备 监控网络设备 调整网络设备 SoftIRQ 什么是 ...
最新文章
- 特斯拉首次达成连续4季度盈利:车卖的少了,钱却挣得多了
- Web设计离不开的4项基本原则
- sklearn之pipeline:pipeline的简介、使用技巧、案例应用之详细攻略
- 利用GDataXML解析XML文件
- react redux 相关技术
- 角距离恒星_恒星问卷调查的10倍机器学习生产率
- PostgreSQL 函数调试、诊断、优化 auto_explain
- BlackBerry 应用程序开发者指南 第二卷:高级--第7章 与BlackBerry应用程序通信
- for里面嵌套if_求求你们了,别再写满屏的 if/ else 了!
- 让一个视图对触摸事件作出响应, 需要实现的方法
- Excel 制作色卡
- 走向ASP.NET架构设计---第二章:设计 测试 代码 (前篇)
- windows server 2008R2 修改账户密码
- shopify抓单按时间总是少一些的解决
- 卖虾滑的鲜美来IPO:水产品预制菜第一股,蹭热度or真有料?
- 景区电商平台网站建设方案
- 纺织ERP_印染ERP软件_指点ERP简介
- 一般对称性和轮换对称性
- android备份:apk安装过程及原理,备份已安装应用的apk包技术实现方案
- 打造全新的网站群管理系统
热门文章
- 发现了一个美图看看软件的一个bug
- 如何在 Linux 终端中一次运行多个 Linux 命令(初学者教程)
- No SOURCES given to target: mpeg
- VMware与 Device/Credential Guard 不兼容.
- Mac支持NTFS两款软件
- Mac下载配置aria2和baidudl
- Android系统信息获取 之一:系统存储信息的获取(RAM,ROM,SDCard)
- android之普通蓝牙通信
- springboot之idea不合并空包
- 图像处理自学(五):CAMERA驱动软件硬件架构V4L2