注解之@CookieValue

时间:2022-12-05 07:52:02

@RequestHeader以及@CookieValue这两个注解用法类似,属性也相同,所以,写在一起。二者属性和RequestParam的属性一样,用法也几乎一样。

作用

@RequestHeader注解主要是将请求头的信息区数据,映射到功能处理方法的参数上。@CookieValue注解主要是将请求的Cookie数据,映射到功能处理方法的参数上。

属性说明

Annotation which indicates that a method parameter should be bound to an HTTP cookie.

它将一个HTTP cookie绑定于方法的一个参数。

1、value:绑定的参数名称,String类型。

2、required:是否必须包含value,boolean类型,默认为 true,表示请求参数中必须包含对应的参数;若不存在,将抛出异常。

3、defaultValue:默认值,String类型。当没有传参时将使用此值赋值。

案例分析

二者在开发中很少被用到,了解即可。下面的代码示例演示了如何获取cookie JSESSIONID,Accept和User-agent 的值:

@RestController

@RequestMapping("/user")

public class UserController {

@RequestMapping("/displayHeaderInfo")

public Map<String, Object> displayHeaderInfo(@RequestHeader("User-agent") String userAgent, @RequestHeader(value = "Accept") String[] accepts,

@CookieValue("JSESSIONID") String cookie) {

Map<String, Object> response = new HashMap<>();

response.put("accepts", accepts);

response.put("userAgent", userAgent);

response.put("cookie", cookie);

return response;

}

}

postman调试结果如下:

注解之@CookieValue