2013-05-26 54 views
0

我正在爲基於REST的服務使用Apache CXF框架。REST:無法添加Cookie

在HTTPServletResponse中,我添加了一個cookie(使用addCookie(Cookie cookie)方法),但沒有成功添加,因爲每當我再次調用相同的API時,我看不到/使用添加的cookie。

我正在使用REST客戶端來調用API,並且我可以在Respose Headers中看到Set-Cookie標頭,但它未被設置。

這裏會出現什麼問題?

回答

0

那麼,Cookie是實際設置的。您會注意到,您的api的進一步請求攜帶cookie以及它們在「請求標題」中。檢查Cookie,在您的服務實現下面的代碼片段:

  1. 在實現類,添加以下注釋

    @Context 
    private HttpHeaders headers; 
    
  2. 現在,在你要那類的方法檢查標題,添加以下代碼

    if(headers.getRequestHeaders() != null) { 
        for(Entry<String, List<String>> entry : headers.getRequestHeaders().entrySet()) { 
         System.out.println("entry.getKey() >>>>>>>>>>> "+entry.getKey()); 
         System.out.println("entry.getValue() >>>>>>>>>> "+entry.getValue()); 
        } 
    } 
    

這裏,entry.getKey()無線將顯示標題名稱和entry.getValue()將顯示該鍵所持有的字符串值的列表。如果設置,您的Cookie將顯示在標題「cookie」下。我希望有所幫助。 謝謝。

+0

您是否找到解決方案? –