1、@RequestMapping称为路由映射(既是类注解也是方法注解提供访问路径)
2、@RequestParam起到重命名的作用,也起到绑定的作用,传递集合list时会用到,多个值绑定给list,默认是必传参数如果不传参数需要设置required=false
3、JSON(javaScript对象表示法)就是数据格式,表示一个对象的数组或数组的信息,本质就是字符串,主要负责在不同的语言中数据传递和转换
JSON基本数据格式展示

也可以压缩表示,提高性能

网上有json格式检测的工具如果感觉自己的格式不知对错可以去检测一下
4、JSON代码编写
java
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);
//对象转JSON
String 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代码传递参数编写
java
@RestController
@RequestMapping("/user")
public class user {
@RequestMapping("/r1")
public String r1(@RequestBody UserInfo userInfo) {
return userInfo.toString();
}
}

7、获取URL中的参数(路径中大括号的参数要和Integer后面的一样才行)
@PathVariable获取路径中的参数
(1)单个参数
java
@RestController
@RequestMapping("/user")
public class user {
@RequestMapping("/r1/{articleId}")
public String r1(@PathVariable Integer articleId) {
return "articleId:"+articleId;
}
}

(2)请求多个参数时(参数必须赋值)
java
@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)对参数进行换名字
java
@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)获取文件

在这里改成上传文件
java
@RestController
@RequestMapping("/user")
public class user {
@RequestMapping("/r1")
public String r1(@RequestPart MultipartFile file) {
return "获取上传文件:"+file.getOriginalFilename();
}
}

(2)将获取到的文件放在指定路径下
java
@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();
}
}
9、返回HTML页面
@Controller
@ResponseBody
@RequestMapping("/user")
public class user {
@RequestMapping("/r1")
public String getHeader() {
return "<h1>我是HTML页面</h1>";
}
}
