【问题标题】:How to set a cookie in OData response Olingo?如何在 OData 响应 Olingo 中设置 cookie?
【发布时间】:2016-02-04 16:19:05
【问题描述】:

我正在使用以下代码来返回响应。我不知道我在哪里遗漏了一些东西,但是没有任何与在 OData 库中设置 cookie 有关的讨论。

ODataResponse resp = EntityProvider.writeFeed(contentType, entitySet, results, propertiesBuilder.build());

返回的响应没有任何设置器来设置 cookie/标头可能是由于构建器模式。

在 ODataResponseBuilder 中,有一种设置标头的方法

ODataResponse resp = resp.header("Set-Cookie", "sampleCookie="+cookieValue).build()

但在这种情况下,我不确定如何像 writeFeed 一样将 entitySet 设置为构建器。

对于HttpServletRequest,我可以通过ODataContext#getParameter(ODataContext.HTTP_SERVLET_REQUEST_OBJECT)获取,但似乎没有等效的方法来获取响应对象。

任何帮助将不胜感激。

【问题讨论】:

    标签: java servlets cookies odata olingo


    【解决方案1】:

    您可以使用 ODataResponse.fromResponse([来自 writeFeed 方法的响应]) 来接收一个 ResponseBuilderInstance ,它已经包含您输入的响应中的内容。在那里您可以设置自定义标头,然后调用 build() 方法来接收最终的 ODataResponse,您可以在处理器中返回它。

    或者您使用 servletFilter 直接在 ServletResponse 处设置它们。我建议在 Olingo 中使用 fromResponse 方法。

    【讨论】:

    • 我们采用了过滤方法。我怎么会错过#fromResponse。谢谢。
    猜你喜欢
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 2021-08-28
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    相关资源
    最近更新 更多