註解之@CookieValue

@RequestHeader以及@CookieValue這兩個註解用法相似,屬性也相同,因此,寫在一塊兒。兩者屬性和RequestParam的屬性同樣,用法也幾乎同樣。html

做用

@RequestHeader註解主要是將請求頭的信息區數據,映射到功能處理方法的參數上。@CookieValue註解主要是將請求的Cookie數據,映射到功能處理方法的參數上。cookie

屬性說明

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

它將一個HTTP cookie綁定於方法的一個參數。post

一、value:綁定的參數名稱,String類型。ui

二、required:是否必須包含value,boolean類型,默認爲 true,表示請求參數中必須包含對應的參數;若不存在,將拋出異常。spa

三、defaultValue:默認值,String類型。當沒有傳參時將使用此值賦值。調試

案例分析

兩者在開發中不多被用到,瞭解便可。下面的代碼示例演示瞭如何獲取cookie JSESSIONID,Accept和User-agent 的值:code

@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調試結果以下:htm

 

轉載於:https://www.cnblogs.com/east7/p/10303180.htmlblog

@RequestHeader以及@CookieValue這兩個註解用法相似,屬性也相同,因此,寫在一塊兒。兩者屬性和RequestParam的屬性同樣,用法也幾乎同樣。

做用

@RequestHeader註解主要是將請求頭的信息區數據,映射到功能處理方法的參數上。@CookieValue註解主要是將請求的Cookie數據,映射到功能處理方法的參數上。

屬性說明

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

它將一個HTTP cookie綁定於方法的一個參數。

一、value:綁定的參數名稱,String類型。

二、required:是否必須包含value,boolean類型,默認爲 true,表示請求參數中必須包含對應的參數;若不存在,將拋出異常。

三、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調試結果以下:

相關文章
相關標籤/搜索