說明與作用
@RequestHeader註解的作用是從請求中獲取某個請求頭的值,並賦值給方法形參。
@CookieValue註解的作用是從請求中獲取某個Value的值,並賦值給方法形參。
//只能作用於方法形參上
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequestHeader {
//指定請求頭的名稱
@AliasFor("name")
String value() default "";
//與value互爲別名。作用一樣
@AliasFor("value")
String name() default "";
//該請求頭是否必須,默認true,如果請求中不包含該請求頭就報錯。
boolean required() default true;
//如果請求頭不存在,把默認值賦值給他。
String defaultValue() default ValueConstants.DEFAULT_NONE;
}
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface CookieValue {
@AliasFor("name")
String value() default "";
@AliasFor("value")
String name() default "";
boolean required() default true;
String defaultValue() default ValueConstants.DEFAULT_NONE;
}
@Controller
public class RequestHeaderAndCookieValueController {
@RequestMapping("testRequestHeader")
public String testRequestHeader(@RequestHeader(value = "Content-Type") String contentType){
System.out.println(contentType);
return "springmvc";
}
@RequestMapping("testCookieValue")
public String testCookieValue(@CookieValue(value = "JSESSIONID") String jSessionId){
System.out.println(jSessionId);
return "springmvc";
}
}
獲取到了請求頭。
獲取到了請求的Cookie值。