【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】

相关推荐
爱滑雪的码农12 小时前
Java基础二十:JSON 数据解析、对象与 JSON 互转逻辑
json
吴声子夜歌1 天前
PlantUML——显示JSON数据
json
祀爱1 天前
ControllerBase 类将对象转换为 JSON 格式并返回前端的方法
前端·json·asp.net
weelinking2 天前
【产品】11_实现后端接口——数据在背后如何流动
java·人工智能·python·sql·oracle·json·ai编程
油炸自行车2 天前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
NiceCloud喜云3 天前
Claude Code 跑 HyperFrames 实测:本地生成 AI 视频素材全流程
java·运维·人工智能·自动化·json·音视频·飞书
逍遥德3 天前
PostgreSQL --- JSON 函数详解
数据库·sql·postgresql·json
輕華3 天前
Flask_GET请求与JSON响应实战详解
python·flask·json
NiceCloud喜云3 天前
Claude Code Routines 实战:三种触发器跑通云端自动化编码
android·运维·数据库·人工智能·自动化·json·飞书
海兰3 天前
Kibana Dashboard as Code:Elastic 9.4 如何用 Terraform 和类型化 API 终结“JSON 垃圾袋“
云原生·json·terraform