springmvc参数解析

系列文章目录

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



参数解析

原文链接 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进行解析处理的

posted @   拾光师  阅读(25)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示