SpringMVC关于get请求传参的问题

2023-11-19

在SpringMVC中,请求GetMapping注解的控制器方法,传参数时,如果直接使用get传递一个body参数过去,后端是不能正确接收的

这儿有一个篇为什么get请求不能正确接收body的解释:

HTTP GET 请求可以有 body 吗? - 知乎本文有点啰嗦,没耐心的直接拉到末尾看结论。在网上可以经常看到关于 HTTP GET 请求能不能带 body 的讨论。有的人认为 GET 请求可以带 body,有的认为 GET 请求不能带 body,还有些人认为可以带但最好不带。大家各…https://zhuanlan.zhihu.com/p/456921996不能通过body去传,那就只能用url方式了,用url方式想传一个数组或者集合,则参数之间用逗号隔开,如:?ids=1,2,3,如果报了这个错:

no primary or default constructor found for interface java.util.List

那么再加一个@RequestParam注解给他就可以了

详细内容参考这篇文章:

Spring MVC传递List类型参数报错:No primary or default constructor found for interface java.util.List]使用两种注解解决_天又热了的博客-CSDN博客

 

---------
POST方式接收数据
1:
前端发送请求头Content-Type: application/json
如果有拼接的地址参数,直接使用8种基本类型进行接收,或者创建一个对象来接收(注意可能需要添加@RequestParam注解)
如在拦截器中拦截,或者没有使用实体类接收,可以使用request.getInputStream()手动解析流数据

2:
前端发送请求头Content-Type: application/x-www-form-urlencoded
如果有拼接的地址参数,直接使用8种基本类型进行接收,或者创建一个对象来接收(注意可能需要添加@RequestParam注解)

3:
前端发送请求头Content-Type: multipart/form-data
如果还有拼接的地址参数,直接使用8种基本类型进行接收,或者创建一个对象来接收(注意可能需要添加@RequestParam注解)
传文件大多用这类请求头

不要使用GET请求传body,前面的方法不能处理这类数据

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

SpringMVC关于get请求传参的问题 的相关文章

随机推荐

  • Python数据可视化详解(3/5)--------patch,饼图,柱状图和点图

    水平或垂直的单条柱状图 如图 上代码 import matplotlib pyplot as plt import numpy as np fig axes plt subplots 2 1 x 1 2 3 4 5 6 data 5 4 1
  • Redis高级客户端Lettuce详解

    前提 Lettuce是一个Redis的Java驱动包 初识她的时候是使用RedisTemplate的时候遇到点问题Debug到底层的一些源码 发现spring data redis的驱动包在某个版本之后替换为Lettuce Lettuce翻
  • 测试用例的基本要素 && properties配置文件 && 测试用例的基本要素 && SpringMVC背景知识 && 按照开发阶段划分测试类型

    第 1 题 简答题 题目名称 设计测试用例 登陆页面 题目内容 请你针对登陆场景来设计测试用例 记得用脑图哦 第 2 题 简答题 题目名称 测试用例设计 淘宝购物车 题目内容 设计淘宝购物车的测试用例 尽可能多的来设计测试用例 若想不出来了
  • DataGrip配置设定

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 下载安装 二 使用步骤 1 配置成中文 2 导入旧的设定 3 常用操作 总结 前言 提示 这里可以添加本文要记录的大概内容 更换电脑 重装DataGrip
  • java通过word模板生成导出word

    java通过word模板生成导出word 生成word方法类 public class BokeWordUtils 根据模板生成新word文档 判断表格是需要替换还是需要插入 判断逻辑有 为替换 表格无 为插入 param inputUrl
  • MYSQL数据库转化成H2数据库

    mysql数据库数据导成CSV文件 H2 数据库导入CSV文件 代码如下 insert into tableName select from csvread c import data csv
  • DBCP 应用的总结(一)

    DBCP 应用的总结 1 Jar包下载 首先 下载必须的jar包 dbcp包 http jakarta apache org commons dbcp pool包 http jakarta apache org commons pool 如
  • POJ 2676 Sudoku 数独(dfs)

    POJ 2676 Sudoku 数独 dfs Sudoku is a very simple task A square table with 9 rows and 9 columns is divided to 9 smaller squ
  • Java jvm 内存溢出分析

    1 如何分析jvm内存溢出呢 我们经常用visualVm监控Jvm的内存 cpu 线程的使用情况 通常可以根据内存不断增长来判断内存是否存在不释放 但是我们不可能时时盯着去看 这里涉及jvm堆内存配置 堆内存参数配置和调优会在其他章节编写
  • 逆波兰表达式求值(C语言实现)

    实验项目 从文本文件输入任意一个语法正确的 中缀 表达式 显示并保存该表达式 利用栈结构 把上述 中缀 表达式转换成后缀表达式 并显示栈的状态变化过程和所得到的后缀表达式 利用栈结构 对上述后缀表达式进行求值 并显示栈的状态变化过程和最终结
  • 【mcuclub】数据存储AT24C02

    一 实物图 二 原理图 编号 名称 功能 1 A0 地址输入 A2 A1和A0是器件地址输入引脚 24C02 32 64使用A2 A1和AO输入引脚作为硬件地址 总线上可同时级联8个24C02 32 64器件 24C04使用A2和A1输入引
  • 身体语言密码

    本书来自www bookdown com cn免费txt小说下载站 更多更新免费电子书请关注www bookdown com cn 掀起职场白领流行新风尚 身体语言密码 全文 一个无心的眼神 一个不经意的微笑 一个细微的小动作 就可能决定了
  • CentOS 8部署Gitlab

    Gitlab简单部署 1 环境和准备工作 操作系统 CentOS6 或者7 8测试都是没有问题的 IP地址 192 168 106 129 配置 2核 最少4G 2 建立git用户 useradd git passwd git passwd
  • python摔倒检测,跌倒检测openpose站立行为检测

    python摔倒检测 跌倒检测openpose站立行为检测 import cv2 import numpy as np from torch import from numpy jit from modules keypoints impo
  • 利用fsck修复/dev/mapper/VolGroup-lv_root: unexpected inconsistency; run fsck manually

    fsck file system check 用来检查和维护不一致的文件系统 若系统掉电或磁盘发生问题 可利用fsck命令对文件系统进行检查 如果系统启动的时候提示 dev mapper VolGroup lv root unexpecte
  • 【已解决】mysql报错error: Found option without preceding group in config file: D:\mysql-5.7.25-win32\my.ini

    之前mysql数据库出现问题 因此卸载重安顺便写个教程 顺便给大家一个小建议 如果软件出现什么莫名其妙的错误 半个小时都没有解决 不如直接重装 因为你不知道哪里出了问题 重装比找出问题简单多了 mysql从官网下载安装包直接解压即可 注意最
  • MySQL - 新增数据时想要得到新增数据的自增ID,怎么办???

    我们在实际逻辑编写时 往往会有 想要使用我们刚刚插入数据的自增ID 来做另外一件事情 这时候我们是可以通过查询刚才插入数据的某个字段作为条件 来查出这条数据的ID 但是总感觉太麻烦效率不高 当然 我们通过SQL层面也是有类似的办法 例如 S
  • Spring有哪些注入方式呢?

    转自 Spring有哪些注入方式呢 下文笔者讲述Spring注入方式分享 如下所示 Spring中有以下注入方式 1 setter属性注入 2 构造方法注入 3 lombok注入 例 1 setter属性注入 Controller publ
  • SLAM练习题(十一)—— G2O实战

    SLAM 学习笔记 写在前面的话 算是一点小小的感悟吧 估计位姿的方法有线性方法和非线性方法 线性方法就是特征点法中的2D 2D的对极约束 3D 2D的PnP问题 非线性方法有BA优化 它将位姿的估计问题转换成了一个误差关于优化量的最小二乘
  • SpringMVC关于get请求传参的问题

    在SpringMVC中 请求GetMapping注解的控制器方法 传参数时 如果直接使用get传递一个body参数过去 后端是不能正确接收的 这儿有一个篇为什么get请求不能正确接收body的解释 HTTP GET 请求可以有 body 吗