Java:如何从响应中删除 header?

Java: How to remove a header from a response?

我有一个由 ResponseBuilder 创建的 Response,如果 header 已经存在,我想从中删除它,以确保我不会为同一个 [=17] 设置多个值=] (content-disposition).

我该怎么做?

对于我的用例,我发现我可以删除任何现有的 header,方法是先将 header 设置为 null,然后再设置新值。

例如

import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;

@Path("response_test")
@GET
public Response response(){

    // Pretend we've got a response builder that was created by 
    // some code we don't control
    ResponseBuilder builder = Response.status(200);
    builder.entity("Test Me");
    builder.header("content-disposition", "attachment; filename=a.txt");

    // Now remove any "content-disposition" header that's there
    // and replace it with our updated header.
    builder.header("content-disposition", null);
    builder.header("content-disposition", "attachment; filename=b.txt");
    Response response = builder.build();
    return response;
}