【SpringMVC】传递json,获取url参数,上传文件

【传递json数据】

【json概念】

一种轻量级数据交互格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,其本质上是字符串,负责在不同的语言中数据传递与交换

json数据以字符串的形式体现

【json字符串与Java对象互转】

我们需要在pom.xml中增加对json的依赖

【对象转json】

导入的相关包中,有着**「ObjectMapper」**这样的类,可以用于转化成json数据

可以通过这个类构造出对象,并调用**「writeValueAsString」** 方法,可以达到**「对象转json」**的效果

【json转对象】

通过这个类的对象调用**「readValue」** 方法,可以达到**「json转对象」**的效果

【传递json数据】

需要使用**「@RequestBody」**注解

即:从请求正文中拿到数据

【获取url中的参数@PathVariable】

需要使用**「@PathVariable」**注解

而在注解RequestMapping中,用一个大括号{}存放url中的参数

这段url末尾的"1"就是RequestMapping注解中大括号内的articleId,这是一个变量

因此,结果就是**【articleId:1】**

我们要确保后端的参数与前端RequestMapping注解中大括号内的参数相同,如果不同,我们就要在PathVariable注解中填写前端的参数来进行重命名

【获取多个参数】

一个大括号可以理解为一个参数的占位符

这个url的运行结果是:

【articleId:1,name:zhangsan】

但如果使用这样的方式,如果只传了一个参数,就会报404错误,虽然PathVariable的源码中,也有一个boolean类型的required方法默认为true,但当我们设置required属性为false时,也发生了404报错

这是因为路径是绝对不能变化的,规定传了几个参数就必须传几个,位置顺序也不允许变化

【上传文件@RequestPart】

相关推荐
肖志-AI全栈2 小时前
从零讲透 Ajax:XHR、Fetch、JSON 序列化到异步编程全链路
前端·ajax·json
前端Baymax7 小时前
JSON配置文件的UTF-8 BOM编码陷阱
json
东方-教育技术博主3 天前
论文全文翻译_通过VR课堂适应性反馈提升职前教师注意能力
json·vr
Random_index3 天前
#Vue3篇: Vue 项目发版后如何提示用户刷新?基于 package.json 版本号的前端更新检测方案
前端·vue.js·json
寻道模式3 天前
【开发心得】GA + 飞书频繁报错被忽略的“元凶”
json·飞书·ga
SelectDB技术团队3 天前
Agent 场景动态 JSON 性能拆解:Apache Doris 比 ClickHouse 快 7 倍、比 Elasticsearch 快 2 倍
数据库·clickhouse·elasticsearch·json·apache·日志分析·apache doris
Dontla3 天前
Claude Code如何管理自动执行的命令?(/permissions命令、settings.json、settings.local.json、命令权限)
json
Amy187021118234 天前
UL证书只是起点——智能电表出口北美,真正的考验在量产之后
json
SelectDB4 天前
Agent 场景动态 JSON 性能拆解:Apache Doris 比 ClickHouse 快 7 倍、比 Elasticsearch 快 2 倍
数据库·json·agent
前网易架构师-高司机4 天前
带标注的21种中药材识别数据集,识别率73.8%数据集,2237张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·中药·药材·中草药