@PathVariable接收url的path上携带的参数
@GetMapping("/books/{username}")
public Object testPathVariable(@PathVariable String username){
Map<String,Object> map = new HashMap<>();
map.put("username",username);
return map;
}
username参数只能使用@PathVariable来接收,因为username参数是url的path上携带的参数。
@RequestParam只能用于接收请求带的参数
@PostMapping("/books2/{id}")
public Object test(@PathVariable("id") long id,@RequestParam("name") String name,
@RequestParam("author") String author,
@RequestParam("isbn") String isbn) {
Map<String, Object> book = new HashMap<String, Object>();
book.put("id",id);
book.put("name", name);
book.put("author", author);
book.put("isbn", isbn);
return book;
}
@PathVariable是无法接收上面的name、author、isbn参数的。