创建启动 省略。。。
java
@RestController注解,相当于@ResponseBody + @Controller
@Controller
负责接收用户的请求
@ResponseBody
把数据写入到HTTP响应体的`body`部分
@RequestMapping
注解是用来映射请求的
简单参数接收
java
get请求
http://localhost:8080/simple?name=aaa&age=12
post请求
请求体{name:a,age:2}
简单参数只要形式参数一样,就可以直接接收到
@RestController
public class requestController {
@RequestMapping("/simple")
public String simple(String name,Integer age){
System.out.println(name+":"+age);
return "ok";
}
}
@RequestParam 用于接收参数的别名,
接收嵌套对象参数
java
假设接收这样一个参数
java里面就要定义一个对应的实体类
{
name:a,
age:1,
adress:{
city:1,
privonce:1
}
}
java
x-www-form-urlencoded
格式参数
要定义对应的实体类
@RequestMapping("/simple")
public String simple(User user){
System.out.println(user);
return "ok";
}
代码比较多,就不黏贴了。
创建一个实体类,快速 生成对应的get set 方法 和 tostring方法
接收数组集合
java
x-www-form-urlencoded
接收 数组参数
@RequestMapping("/simple")
public String simple(String [] hobby){
System.out.println(Arrays.toString(hobby) );
return "ok";
}
java
x-www-form-urlencoded
接收 集合参数
@RequestParam 去注解
@RequestMapping("/simple")
public String simple111(@RequestParam List<String> hobby){
System.out.println(hobby );
return "ok";
}
接收时间
java
@RequestMapping("/simple1111")
public String simple1111(@DateTimeFormat(
pattern = "yyyy-mm-dd hh:mm:aa")LocalDateTime updataTime){
System.out.println(updataTime );
return "ok";
}
接收json参数
java
postman 选择 post请求,选择 raw 选择JOSN
@RequestMapping("/simple")
public String simple(@RequestBody User user){
System.out.println(user);
return "ok";
}
接收路径参数
java
@RequestMapping("/path/${id}")
public String simple21(@PathVariable Integer id){
System.out.println(id);
return "ok";
}
@RequestMapping("/path/${id}/${id2}")
public String simple21(@PathVariable Integer id,@PathVariable Integer id2 ){
System.out.println(id+id2
);
return "ok";
}
postman选择
post:
java
multipart/form-data:
既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息;
x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的。
raw json