springboot get,post请求001

请求方式注解

@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具体的实体类都可以前提是格式要对

你可能感兴趣的:(springboot get,post请求001)