SpringBoot中获取请求头,请求体,路径中的值

获取请求头中的值:

获取请求头中的Accept

@GetMapping("/getHead")
@ResponseBody
public void getHead(@RequestHeader("Accept") String accept) {
    System.out.println(accept);
}

获取请求体中的值:

    @RequestMapping(value = "/test",method = RequestMethod.POST)
    public Person getRest(@RequestBody Person person){
        System.out.println(person);
        return person;
    }

SpringBoot中获取请求头,请求体,路径中的值_第1张图片

获取url路径中的值:

@RequestParam

用在get请求中,案例如下

    @RequestMapping(value = "/test",method = RequestMethod.GET)
    public String getRequest(@RequestParam String dog){
        return dog;
    }

我们来用postman测试一下,一切正常

SpringBoot中获取请求头,请求体,路径中的值_第2张图片

我们还可以用@RequestParam(name = "xxx")指定传过来的属性,依旧这段代码(多了个指定名字),看代码和结果

    @RequestMapping(value = "/test",method = RequestMethod.GET)
    public String getRequest(@RequestParam(name = "cat") String dog){
        return dog;
    }

SpringBoot中获取请求头,请求体,路径中的值_第3张图片

@PathVariable

用在rest请求的接口中美滋滋,以get请求为例,为了效果我故意把路径变量和形参不一样,方便理解

    @RequestMapping(value = "/test/{person}",method = RequestMethod.GET)
    public String getRest(@PathVariable(name = "person") String dog){
        return dog;
    }

SpringBoot中获取请求头,请求体,路径中的值_第4张图片

@CookieValue 

获取cookie的值,与上类似,自己探索吧

@RequestAttribute

获取request设置的属性

@Controller
public class NewController {
    @RequestMapping(value = "/")
    public String test(HttpServletRequest request){
        request.setAttribute("name","li4");
        return "forward:/testAttribute"; //转发到testAttribute页面
    }
    @ResponseBody
    @RequestMapping("testAttribute")
    public String test2(@RequestAttribute("name") String attribute){
        return attribute;
    }
}

SpringBoot中获取请求头,请求体,路径中的值_第5张图片  以上为常用的参数注解,如有补充或指出错误,请赐教 

 

 

你可能感兴趣的:(Spring,boot,spring,boot,java,http)