【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报错
这是因为路径是绝对不能变化的,规定传了几个参数就必须传几个,位置顺序也不允许变化