springboot请求响应
- 不区分请求方法
@RequestMapping("/")
- GET请求:
@GetMapping("/")
- POST请求:
@PostMapping("/")
- JSON参数
@RequestBody
,普通参数@RequestParam
@RestController = @Controller + @ResponseBody
原始请求
@RequestMapping("/simpleParam")
public String simpleParam(HttpServletRequest request){
String name =request.getParameter("name");
String ageStr = request.getParameter("age");
int age =Integer.parselnt(ageStr);
System.out.println(name+" :"+age);
return "OK";
}
简单参数
形参变量名与 get 参数名相同,即可接收参数
@RequestMapping("/simpleParam")
public String simpleParam(String name, integer age){
System.out.println(name+" :"+age);
return name+" :"+age;
}
// 如果方法形参名称与请求参数名称不匹配, 通过注解映射
public String simpleParam(@RequestParam(name ="name")String name, integer age){
}
实体参数
// pojo.User.java
public class User {
private String name;
private integer age;
private Address address;
// ... get/set/toString
}
// pojo.Address.java
public class Address {
private String province,
private String city;
}
// ?name=Bob&age=16&address.province=beijing&address.city=beijing
@RequestMapping("/simplePojo")
public String simplePojo(User user){
System.out.println(user);
return "OK";
}
数组/集合参数
?hobby=1&hobby=2
或 ?hobby=game,java
//数组参数
@RequestMapping("/arrayParam")
public String arrayParam(String[] hobby){
System.out.println(Arrays.toString(hobby));
return "OK";
}
//集合参数
@RequestMapping("/listParam")
public String listParam(@RequestParam List<String> hobby){
System.out.println(hobby);
return "OK";
}
日期参数
?updateTime=2022-12-12 10:05:45
@RestController
public class RequestController {
//日期时间参数
@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
System.out.println(updateTime);
return "OK";
}
}
json 参数
{
"name":"Bob", "age":16,
"address":{
"province": "北京",
"city": "北京"
}
}
@RestController
public class RequestController {
//JSON参数
@RequestMapping("/jsonParam")
public String jsonParam(@RequestBody User user){
System.out.println(user);
return user;
}
}
public class Address {
private String province;
private String city;
// get/set/toString
}
public class User {
private String name;
private Integer age;
private Address address;
// get/set/toString
}
路径参数
http://localhost:8080/path/1/alice
@RestController
public class RequestController {
//路径参数
@RequestMapping("/path/{id}/{name}")
public String pathParam2(@PathVariable Integer id, @PathVariable String name){
System.out.println(id+ " : " +name);
return "OK";
}
}