后端接收Get请求与Post请求 参数示例
博主介绍: 22届计科专业毕业,来自湖南,主要是在CSDN记录一些自己在Java开发过程中遇到的一些问题,欢迎大家一起讨论学习,也欢迎大家的批评指正。
文章目录
- 前言
- 正文
- 接收Get请求的参数
- 不使用注解直接通过参数名接收参数
- 使用PathVariable注解接收路径参数
- 接收Post请求的参数
- Post请求提交的参数类型
- Content-Type:multipart/form-data格式参数
- 不使用注解通过参数名接收对应参数
- 不使用注解,通过`HttpServletRequest`对象获取参数
- 使用`@RequestParam`注解接收参数
- Content-Type:application/x-www-form-urlencoded格式参数
- Content-Type:application/json格式参数
- 使用`@RequestBody`注解接收参数:
- 不使用注解,通过`HttpServletRequest`获取参数
- 后端使用集合接收参数(List<String>)
- 有趣的点:前端传String 后端使用集合接收参数
前言
本文通过示例介绍:Controller层如何获取Get与Post请求携带的参数(SpringMVC框架)
正文
接收Get请求的参数
不使用注解直接通过参数名接收参数
Get请求的参数直接拼接在Url路径后面,如下所示:
http://localhost:8080/TW_Server/Test/getTest.do?userName=root&password=123456
该请求携带了两个名分别为userName
与password
的参数,他们的值分别是root
与123456
后台写法如下:
测试结果:
此方法要求请求的参数名与接口写的参数名必须一致,否则后台接收不到。
使用PathVariable注解接收路径参数
Get请求参数写在Url路径中,如下所示:
http://localhost:8080/TW_Server/Test/root/123456/getTest.do
路径中root
和 123456
是我传的参数
后台写法如下:
测试结果:
还可以写成以下格式,这样只需要保证@PathVariable
注解括号里的值与路径值对应就可以获取到参数,否则会报错:
测试结果:
接收Post请求的参数
Post请求提交的参数类型
我自己常遇到的:
Content-Type:multipart/form-data(用于在表单中上传文件)
Content-Type:application/x-www-form-urlencoded(浏览器原生的form表单类型,不能上传文件)
Content-Type:application/json(以json形式进行传输,通常是传输对象时使用)
不常遇到的:
Content-Type:application/xml
Content-Type:application/javascript
Content-Type:text/plain
Content-Type:text/html
Content-Type:multipart/form-data格式参数
不使用注解通过参数名接收对应参数
首先我创建一个文件如下所示:
后台写法(方法体就是将文件内容做个输出,不用过于纠结,我们的重点是接收参数):
发送测试请求:
测试结果:
控制台输出的文件内容
接口返回的结果:
不使用注解,通过HttpServletRequest
对象获取参数
后台写法:
测试结果:
这个写法不能获取文件参数。
使用@RequestParam
注解接收参数
@RequestParam
注解括号中的值要与请求中传的参数名相同才行,否则会报错。
后台写法:
发送测试请求:
测试结果依然是可以拿到数据,这里就不贴图了。
Content-Type:application/x-www-form-urlencoded格式参数
该格式接收参数的方法直接参考multipart/form-data
格式的就可以了,只是他不能上传文件而已。
Content-Type:application/json格式参数
使用@RequestBody
注解接收参数:
创建一个Param实体类:
后台写法:
测试结果:
不使用注解,通过HttpServletRequest
获取参数
后台写法:
发送测试请求:
测试结果:
后端使用集合接收参数(List)
前端传参格式(请求方式为post):
后端接受格式
输出结果:
有趣的点:前端传String 后端使用集合接收参数
如下图所示,使用 List< String > a 接收参数:
如果传一个参数名为:a 的参数就会报错,但是如果将参数名改为stringList,会接收成功
而且stringList会匹配参数中所有的集合参数:
如果想用集合指定的参数名接收参数可以将集合封装到一个类中:
后端接收Get请求与Post请求 参数示例相关推荐
- Vue简单封装axios—解决post请求后端接收不到参数问题
1.在src/下新建api文件夹,api/下新建index.js和public.js 在public.js中: import axios from 'axios'; import qs from 'q ...
- axios 发 post 请求,后端接收不到参数的解决方案
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 问题场景 场景很简单,就是一个正常 axios post 请求: axios({headers: { ...
- 【跨域问题】Vue简单封装axios—解决post请求后端接收不到参数问题
原因分析: 1. 传参数据没有序列化? 解决办法: [推荐] [推荐阅读] vue+axios+qs序列化 "三步解析"[含demo实例]- 代码篇 2. 服务端接受数据格式参数配 ...
- axios发送post数据后台收不到_axios 发 post 请求,后端接收不到参数的解决方案
问题场景 场景很简单,就是一个正常 axios post 请求: axios({ headers: { 'deviceCode': 'A95ZEF1-47B5-AC90BF3' }, method: ...
- 应用服务器与WSGI协议以及flask后端框架总结(后端接收请求返回响应的整个流程)...
上次遗留了两个问题,先说一下自己的看法 问题: 1.明明一个线程只能处理一个请求,那么栈里的元素永远是在栈顶,那为什么需要用栈这个结构?用普通变量不行吗. 2._request_ctx_stack和_ ...
- Axios Post 请求后端接收不到数据
最近做一个小项目,前端使用 axios 请求数据,后端使用 node 写接口.调试时发现后端取不到请求的参数,解决时浪费了很多时间,这里贴出来解决方法. 项目地址在这里:html-edit-npm 可 ...
- 解决Ajax异步请求中传数组参数,后台无法接收问题
解决Ajax异步请求中传数组参数,后台无法接收问题 参考文章: (1)解决Ajax异步请求中传数组参数,后台无法接收问题 (2)https://www.cnblogs.com/wangshuaiand ...
- Ionic+Angular+Express实现前后端交互使用HttpClient发送get请求数据并加载显示(附代码下载)
场景 Ionic介绍以及搭建环境.新建和运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/106308166 在上面搭建起 ...
- get请求获取不到参数
问题描述: 后台管理系统进行跳转时,get传参后端接收不到. 排错过程: 检查前段页面参数命名. 打印所有GET请求参数,并没有参数被传递. 查看nginx-access与error日志,发现无报错, ...
最新文章
- SQLServer数据库自增长标识列的更新修改操作
- sklearn自学指南(part14)--Logistic回归
- 从事件和DDD入手来构建微服务
- 关于计算机的网络作文,关于网络世界的作文
- 使用Canvas扩展绘制动态ASP.NET Core Blazor条形图
- 关于利用exchange server 2003搭建邮件服务器:小进步……
- Matlab程序接口应用总结
- Linux系统编程——进程间通信概述
- Matlab中绘制灰度直方图的两个函数imhist和histogram
- jetty中war包解压路径
- 国际冠码与国际电话区号
- USGS批量下载影像(Sentinel2/哨兵2/Landsat)数据、bda程序安装-(史上最全讲解)
- Python---excel筛选
- [Life] search torrent engineer
- 综述:人工智能、数据科学、机器学习
- 在虚拟机下运行gazebo,关于vmw_ioctl_command error Invalid argument错误
- python 线程通信的几种方式_Python 线程、线程通信、多线程
- 使用UltraISO制作U盘启动盘教程
- 基于移动互联网的订餐APP系统设计与实现
- Django——Ajax
热门文章
- redis集群模式详解
- matlab中pwelch函数计算功率谱密度
- 【学习笔记】ROS-移动机器人导航相关
- 机械臂6D姿态检测(RGB、RGBD、雷达)综述
- 金融安全算法介绍系列6——RSA
- Mendix敏捷开发零基础学习《二》-进阶(Microflow微流、表单验证、运算符、条件判断、数据嵌套、触发器、Debug问题跟踪、版本管理)
- Web开发之常用框架BootStrap
- Jsch报错:com.jcraft.jsch.JSchException: session is down
- December, 14
- ImageIO javax.imageio;读取图片问题