0

REST ベースのサービスに Apache CXF フレームワークを使用しています。

HTTPServletResponse で、( addCookie(Cookie cookie) メソッドを使用して) Cookie を追加していますが、同じ API を再度呼び出すたびに、追加された Cookie を表示/使用できないため、正常に追加されません。

REST クライアントを使用して API を呼び出しています。Respose ヘッダーに Set-Cookie ヘッダーが表示されますが、設定されていません。

ここで何が問題になるでしょうか?

4

1 に答える 1

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」の下に表示されます。それが役立つことを願っています。ありがとう。

于 2013-09-16T11:24:03.623 に答える