一尘不染

自定义响应标头Jersey / Java

json

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

从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;
}

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


阅读 237

收藏
2020-07-27

共1个答案

一尘不染

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

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