1、接收简单参数
定义方法形参,请求参数名和形参变量名一致。如果不一致,通过 @RequestParam 手动映射
@GetMapping("/age")
public String setUserAge(Integer age){
System.out.println(age);
return "OK";
}
2、接收实体参数
请求参数名称和实体对象属性名一致,会自动接收封装。
@GetMapping("/user")
public String getUser(User user){
System.out.println(user);
return "OK";
}
3、接收数组类型的参数
数组:请求参数名与数组名一致,直接封装
集合:请求参数名与集合名一致,使用 @RequestParam 绑定关系
@GetMapping("/arrayParams")
public String getArrayList(String[] hobby){
System.out.println(Arrays.toString(hobby));
return "OK";
}
@GetMapping("/listParams")
public String getListParams(@RequestParam List<String> hobby){
System.out.println(hobby);
return "OK";
}
4、接收日期类型的参数
日期类型的参数可以使用 @DateTimeFormat 注解
@GetMapping("/datetime")
public String getDateTimeParams(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime localDateTime){
System.out.println(localDateTime);
return "OK";
}
5、接收 json 格式的参数
定义实体类,在参数列表中使用该实体类作为参数类型,并且需要加上 @RequestBody 注解。json格式的参数只能用 post 方法接收
public class User {
private Integer age;
private String name;
private Address address;
}
public class Address {
private String city;
private String address;
}
@PostMapping("/json")
public String getJson(@RequestBody User user){
System.out.println(user);
return "OK";
}
6、接收路径参数,RESTAPI
@GetMapping("/path/{id}")
public String getUserById(@PathVariable Integer id){
System.out.println(id);
return "OK";
}