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

SpringMVC—请求映射路径 get请求与Post请求发送请求参数 5种类型参数传递 json数据传递参数 日期型参数的传递 响应

请求映射路径:

核心问题:在团队开发过程中,若在不同的类中配置的访问路径一致就会出问题,SpringMVC框架不知道到底要去找哪个访问路径
解决方法
1.在路径名的前面加上自己所在的模块名称
2.抽出模块名称,在类前进行注解:

具体过程变化如下:
在这里插入图片描述
变成:
在这里插入图片描述

get请求与post请求(在Apifox界面中)发送请求参数

Get请求 & Post请求:

Get请求:
只要url后面的参数与方法括号内的参数名一致,就可以传进来了
在这里插入图片描述
Post请求:
将apifox的请求方式从Get切换到Post,进入body(因为请求参数被放在了body中),进入x-www-form-lencoded即可
在这里插入图片描述
在java代码中还是确保方法中的参数名和Post的参数名保持一致就行

CommanParam()这个方法统一了Servlet的doGet()/doPost()方法。只需注明参数即可,Get/Post类型的划分依靠apifox实现

Post中文乱码问题解决:

在该类中配置字符过滤器,将中文按照UTF-8的格式过滤。
在这里插入图片描述

5种类型参数传递

1.基本类型

1.不加RequestParam()注解,就确保括号内参数名和请求参数名一致
2.如果括号内参数名和请求参数名不一致,则需要在参数前加入@RequestParam("...")
括号内的参数名和请求参数内的参数名一致。

在这里插入图片描述

2.Pojo类型(引用类型)

在这里插入图片描述
如果请求数据传过来的是多个数据,而我要用Pojo类型接收,需要提前创建好一个Pojo类,届时会自动把请求数据封入这个Pojo类型。

3.嵌套Pojo类型(引用类型的内部有引用类型的属性)

与Pojo类型的实现类代码保持一致。在apifox中需要给引用的属性传值
在这里插入图片描述

4.数组类型

在请求参数的参数传递时,只需要把key的值写成一样的就行。
在Java实现类中。括号内的参数名和请求参数的key一致
在这里插入图片描述

5.集合类型

需要在集合类型前面加上@RequestParam注明,向它告诉这只是一个参数名,只不过这个值有多个,因此需要多次添加
在这里插入图片描述

json数据传递参数:在这里插入图片描述

在apifox中选中"Body",点击raw,确定json格式
在请求路径对应的java实现类的方法括号中,加入@RequestBody注解:

在这里插入图片描述
在核心配置类前加入 @EnableWebMVC,使配置文件能够自动支持json数据格式的转换

在这里插入图片描述

区别:
@ResquestBody支持json数据格式转换
@RequestParam支持url地址传参

日期型参数的传递:

SpringMVC默认的日期型参数格式是yyyy/mm/dd,如果想要日期型参数格式改变,例如变成yyyy-mm-dd,则需要设置@DataTimeFormat注解的pattern参数,把pattern参数设置成实际时间的格式。例如:

在这里插入图片描述
Converter转换器接口:
在这里插入图片描述
Spring准备了极其多的实现类,这里就不列举了。只需知道Convert是DataTimeFormat的底层原理。

响应

在响应数据的时候,如果不添加@RequestBody注解,会默认想要跳转页面。只有加入这个注解,才会转成json格式:加入注解后,文本/Pojo/集合都会被转换成json格式被响应回去,也就是通过json设置返回值作为响应体
在这里插入图片描述
内部同样使用了转换器,将对象/基本数据转换成json的工具就是类型转换器
HTTPMessageConvert接口:
在这里插入图片描述
最终实现类是Mappingjackson2HTTPMeassageConverter,是Jackson在帮助我们转换json数据,前提是得设置依赖。
在这里插入图片描述
@RequestBody的作用就是把返回值转换成json传递出去。

http://www.dtcms.com/a/516136.html

相关文章:

  • 下一代医疗机器人的标配:六维力传感器破解远程医疗核心瓶颈
  • 内部网站建设要求广州哪家做网站最好
  • CCF-GESP 等级考试 2024年6月认证C++四级真题解析
  • 基于NLP进行文本内容预测常规流程
  • 建设银行手机网站变塘厦水霖学校
  • 音乐介绍网站怎么做抖音代运营介绍
  • 假数据神器JSONPlaceholder介绍(假数据接口、模拟数据接口、模拟测试接口、Mock data interface)
  • Alpha World:以结构化金融驱动Web3共识
  • 关于jsp网站开发的最新书籍厦门网站建设哪家便宜
  • 基于频率分集阵列的MIMO雷达联合距离角度估计——论文阅读
  • 20.3 ResNet50+多模态融合!ChatPPT3.0一键生成专业级PPT全攻略
  • 甘肃省建设工程安全质量监督局网站hostgator wordpress主机
  • Fiddler使用教程,全面掌握Fiddler抓包工具的配置方法、代理设置与调试技巧(HTTPHTTPS全解析)
  • 金泉网普通会员可以建设网站吗上海网站编辑招聘
  • <数据集>yolo纸板缺陷识别数据集<目标检测>
  • ubuntu 系统扩容,多硬盘挂载
  • 上海最专业的网站设计制蒙古文政务网站建设工作汇报
  • 近红外工业相机的简单介绍和场景应用
  • 基于开源免费Odoo软件构建CRM销售管理系统
  • 网站开发有哪些要求asp.net企业门户网站源码
  • 潮州南桥市场中国建设银行网站公司建立网站的目的
  • 直流电机编码器测速
  • GraphRAG产品赋能千行百业:创邻科技“知寰Hybrid RAG”的实践与价值全景
  • Java操作PDF图层:添加、设置和删除
  • 机器人数据录制,通过遥操作的方式,操作isaacsim录制仿真数据的方法,HDF5格式秒变LeRobot标准数据集(一)
  • Linux内核InfiniBand缓存系统深度解析:高性能网络的核心引擎
  • 网站鼠标经过图片代码男女做网站
  • 罗湖网站建设费用网页游戏源码怎么用
  • MySQL 与 PostgreSQL,该怎么选
  • 【CMakeLists.txt】CMake 编译定义带值参数详解