目录
@RequestParam
用在get请求中,案例如下
@RequestMapping(value = "/test",method = RequestMethod.GET)
public String getRequest(@RequestParam String dog){
return dog;
}
我们来用postman测试一下,一切正常
我们还可以用@RequestParam(name = "xxx")指定传过来的属性,依旧这段代码(多了个指定名字),看代码和结果
@RequestMapping(value = "/test",method = RequestMethod.GET)
public String getRequest(@RequestParam(name = "cat") String dog){
return dog;
}
@PathVariable
用在rest请求的接口中美滋滋,以get请求为例,为了效果我故意把路径变量和形参不一样,方便理解
@RequestMapping(value = "/test/{person}",method = RequestMethod.GET)
public String getRest(@PathVariable(name = "person") String dog){
return dog;
}
@RequestBody
用在post请求中,使用json格式请求。我们先建一个Person类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private String name;
private int age;
}
@RequestMapping(value = "/test",method = RequestMethod.POST)
public Person getRest(@RequestBody Person person){
System.out.println(person);
return person;
}
@RequestHeader
顾名思义---获取请求头
@RequestMapping(value = "/test",method = RequestMethod.GET)
public Map getRest(@RequestHeader HashMap headers){
return headers;
}
@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;
}
}
以上为常用的参数注解,如有补充或指出错误,请赐教