当前位置: 首页 > 面试题库 >

自定义响应标头Jersey / Java

狄阳华
2023-03-14
问题内容

我正在努力实现以下目标。

从Request中读取自定义标头及其值:

name: username

现在,在响应时,我想name:value在HTTP响应中返回相同的标头对。

我正在使用JAX-RS Web服务的Jersey 2.0实现。

当我发送请求URL时Http://localhost/test/,也会传递请求标头(目前,虽然是Firefox插件-对其进行硬编码)。

收到对该URL的请求后,将调用以下方法:

@GET
@Produces(MediaType.APPLICATION_JSON)
public UserClass getValues(@Context HttpHeaders header) {
    MultivaluedMap<String, String> headerParams = header.getRequestHeaders();
    String userKey = "name";
    headerParams.get(userKey);

    // ...

    return user_object;
}

我该如何实现?任何指针都很棒!


问题答案:

只需注入a @Context HttpServletResponse response作为方法参数。更改标题

@Produces(MediaType.APPLICATION_JSON)
public UserClass getValues(@Context HttpHeaders header, @Context HttpServletResponse response) {
    response.setHeader("yourheadername", "yourheadervalue");
    ...
}


 类似资料:
  • 基于我之前的问题,我现在需要在响应中添加一个标题。 根据留档,我可以简单地将标头和另一个属性添加到对象。 当我对此进行测试时,它似乎没有携带标头值。 根据这篇文章,为重定向请求设置标题是不可能的。所以除了重定向,也许我应该试试别的? 有什么想法吗?

  • 问题内容: 我确实获得了响应数据,但是无法获得自定义HTTP标头数据。 是的,这是一个跨域请求。我正在用Javascript执行Ajax请求。我已经尝试过XMLHttpRequest和jQuery $ .ajax。我已经完成了服务器设置,在发送数据时已进行了以下设置: 我 确实 得到了想要的响应数据。但是我无法获得完整的HTTP标头响应。 使用PHP,我在发送文本响应之前设置了以下内容。因此,我假

  • 问题内容: 我想知道是否/如何在PHP中将自定义标头添加到cURL HTTP请求。我正在尝试模拟iTunes如何捕获图片并使用以下非标准标头: 如何将这些标头添加到请求中? 问题答案: http://www.php.net/manual/zh/function.curl- setopt.php

  • 我试图发送一些自定义的HTTP头,以便从客户端,以便我可以知道问题的原因,并显示适当的消息给用户。我无法从下面的代码中获得响应头(它显示为空)。 但是从浏览器(chrome)我可以看到我在响应中有标题。看这里的图像 我希望看到值“INVALID_SESSION”作为控制台输出。 但取而代之的是无效。有人能帮忙吗?

  • null null 示例GET请求 我可以从以下示例URL获取位置列表: 请求标头 null null

  • 我正在使用。 下面是获取响应Header的代码部分。 它只给出了默认的标题详细信息。我无法获取在响应中发送的自定义标题。我能够在邮递员工具中看到自定义标题。