1、@RequestMapping称为路由映射(既是类注解也是方法注解提供访问路径)
2、@RequestParam起到重命名的作用,也起到绑定的作用,传递集合list时会用到,多个值绑定给list,默认是必传参数如果不传参数需要设置required=false
3、JSON(javaScript对象表示法)就是数据格式,表示一个对象的数组或数组的信息,本质就是字符串,主要负责在不同的语言中数据传递和转换
JSON基本数据格式展示
也可以压缩表示,提高性能
网上有json格式检测的工具如果感觉自己的格式不知对错可以去检测一下
4、JSON代码编写
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;public class JSONUtils {public static void main(String[] args) throws JsonProcessingException {ObjectMapper objectMapper=new ObjectMapper();UserInfo userInfo=new UserInfo();userInfo.setName("zhangsan");userInfo.setAge(18);userInfo.setId(10);//对象转JSONString s=objectMapper.writeValueAsString(userInfo);System.out.println(s);//JSON字符串转java对象UserInfo userInfo1=objectMapper.readValue(s,UserInfo.class);System.out.println(userInfo1);}
}
输出
5、JSON优点
6、JSON代码传递参数编写
@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1")public String r1(@RequestBody UserInfo userInfo) {return userInfo.toString();}
}
7、获取URL中的参数(路径中大括号的参数要和Integer后面的一样才行)
@PathVariable获取路径中的参数
(1)单个参数
@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1/{articleId}")public String r1(@PathVariable Integer articleId) {return "articleId:"+articleId;}
}
(2)请求多个参数时(参数必须赋值)
@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1/{articleId}/{id}")public String r1(@PathVariable Integer articleId,@PathVariable Integer id) {return "articleId:"+articleId+" id:"+id;}
}
(3)对参数进行换名字
@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1/{articleId}/{id}")public String r1(@PathVariable("articleId") Integer xinId,@PathVariable Integer id) {return "articleId:"+xinId+" id:"+id;}
}
8、获得文件
@RequestPart注解来获取文件
(1)获取文件
在这里改成上传文件
@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1")public String r1(@RequestPart MultipartFile file) {return "获取上传文件:"+file.getOriginalFilename();}
}
(2)将获取到的文件放在指定路径下
@RestController
@RequestMapping("/user")
public class user {@RequestMapping("/r1")public String r1(@RequestPart MultipartFile file) throws IOException {String fileName=file.getOriginalFilename();file.transferTo(new File("D:/demo"+fileName));return "获取上传文件:"+file.getOriginalFilename();}
}