请求方式注解
@RequestMapping post,get都支持不指定情况下
@GetMapping
只支持post方式请求
等同于@RequestMapping(value = "",method = RequestMethod.GET)
@PostMapping只支持post方式请求
等同于@RequestMapping(value = "",method = RequestMethod.POST)
获取请求参数的几种方式
1、不带键值直接从路径中获取
postman请求格式如下:
192.168.3.157:8080/user/get_user_info/10
@RequestMapping("/get_user_info/{user_id}")
public Object test(@PathVariable("user_id")String userId){
map.put("name","name");
map.put("userId",userId);
return map;
}
2、通过键值获取
192.168.3.157:8080/user/get_user_info?user_id=10
@RequestMapping("get_user_info")
public Object test1(@RequestParam("user_id")String userId ){
map.put("name","name");
map.put("userId",userId);
return map;
}
3、获取请求头信息
通过注解@RequestHeader获取
@PostMapping("get_user_info")
public Object test1(@RequestHeader("token")String token){
System.out.println("token--->>"+token);
return token;
}
4、@RequestParam注解说明
@Target({ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestParam {
@AliasFor("name")
String value() default "";//name等同于value
@AliasFor("value")
String name() default "";
boolean required() default true;//是否为必传参数
//默认值
String defaultValue() default "\n\t\t\n\t\t\n\ue000\ue001\ue002\n\t\t\t\t\n";
}
使用
@RequestParam(value = "user_id",defaultValue = "123",required = false)String userId
@RequestParam(name = "user_id",defaultValue = "123",required = false)String userId
上面两种方式是相等的
@RequestParam("user_id")
从body中获取数据@RequestBody
@RequestMapping(value = "/get_user_info/{user_id}",method = RequestMethod.GET)
public Object test(@PathVariable("user_id")String userId, @RequestBody String str){
System.out.println("jsonpObject--->>"+str);
map.put("name","name");
map.put("userId",userId);
return map;
}
String这里的String类型可以写任意类型,json,map具体的实体类都可以前提是格式要对
网友评论