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

springmvc参数解析

系列文章目录

springmvc核心流程及配置
springmvc处理模型数据
springmvc返回json
数据绑定
springmvc注解的使用
springmvc异常处理
springmvc拦截器
spring与springmvc整合
使用springSession完成分布式session
spring获取当前request
springmvc参数解析


文章目录

  • 系列文章目录
    • 参数解析
      • application/x-www-form-urlencoded格式
      • application/json格式
      • url参数
      • 文件上传


参数解析

原文链接 https://zhhll.icu/2021/框架/springmvc/基础/10.参数解析/

application/x-www-form-urlencoded格式

这种格式就是传统的表单提交格式,就是一个个的键值对,会进行url编码,使用springmvc接收时使用@RequestParam来进行接收,与传入的字段一一对应,此时使用的参数处理器是RequestParamMapMethodArgumentResolver;当然也可以将这些参数组装为一个对象,此时入参为对象,不需要注解进行标注,此时使用的参数处理器是ServletModelAttributeMethodProcessor,把HttpServletRequest中的表单参数封装到MutablePropertyValues实例中,再通过参数类型实例化,反射匹配属性进行值的填充

application/json格式

现在使用这种格式的比较多,报文会在请求体内,而不是拼接到地址中,使用springmvc接收时使用@RequestBody注解标注,使用到的参数处理器为RequestResponseBodyMethodProcessor,默认会用到MappingJackson2HttpMessageConverter进行参数类型的转换,底层依赖到Jackson相关的包

url参数

由于springmvc支持rest风格的请求,所以可能会存在/user/{userId}格式的uri,此时{}是占位符,使用@PathVariable注解进行标注,对应的参数处理器为PathVariableMethodArgumentResolver

文件上传

文件上传使用的是form-data格式的,那么此时springmvc是使用@RequestPart注解来标注MultipartFile对象进行接收的,参数处理器用到的是RequestPartMethodArgumentResolver;也可以使用@RequestParam注解标注MultipartFile对象,或者仅使用MultipartFile对象来接收,使用的是RequestParamMethodArgumentResolver进行解析处理的

相关文章:

  • java导出pdf(水印、页眉、表格、背景样式、页脚、饼图、柱图)
  • mysql8.0免安装版windows
  • Java23种设计模式-行为型模式之中介者模式
  • electron使用typescript
  • 使用R语言进行简单的主成分分析(PCA)
  • leetcode2739--总行驶距离
  • 【AIGC】基于深度学习的图像生成与增强技术
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • ★【递归】【链表】Leetcode 21. 合并两个有序链表
  • Linux内核网络
  • WinForms中的Timer探究:Form Timer与Thread Timer的差异
  • UE4 材质多张图片拼接成一张图片(此处用2×2拼接)
  • 开荒手册2——小论文篇
  • PreScan快速入门到精通第三十六讲PreScan中使用车道线传感器
  • 什么是关系选择器
  • 【Vue3】快速入门Vue3 -上篇
  • 玩转华为ENSP模拟器系列 | IPSec网关负载分担双机热备,隧道之间不备份
  • Go : 测试并发原语幂级数(附完整源码)
  • JUC - 多线程之Synchronized和Lock锁;生产者消费者模式(一)
  • day2:算法之美|打开算法之门与算法复杂性
  • 无胁科技-TVD每日漏洞情报-2022-10-18
  • 艾美捷抗人IL-2单抗MT8G10相关参数说明
  • 网络地址转换(NAT)(三)
  • LeetCode315 周赛
  • MySQL常用函数大全(实例演示)
  • Linux学习笔记(更新中)
  • 论文理解【Offline RL】—— A dataset perspective on offline reinforcement learning
  • 三分钟了解MySQL慢查询
  • cesium拾取pick系列(拾取坐标和对象)
  • 音视频开发入门小知识
  • 数据挖掘-理解业务和数据(二)
  • 温振变送器为何被称为监测工频类设备故障的“利器”?