gpt4 book ai didi

java - Jersey 2.x : How to add Headers on RESTful Client

转载 作者:搜寻专家 更新时间:2023-10-30 21:45:50 24 4
gpt4 key购买 nike

我已经看过 How to add Headers on RESTful call using Jersey Client API ,但这是针对 Jersey 1.x 的。

如何在 Jersey 2.21 中设置 header 值(例如授权 token )?

这是我使用的代码:

public static String POST(final String url, final HashMap<String, String> params)
{
ClientConfig config = new ClientConfig();
Client client = ClientBuilder.newClient(config);

WebTarget target = client.target(url);

String data = new Gson().toJson(params);

Entity json = Entity.entity(data, MediaType.APPLICATION_JSON_TYPE);
Invocation.Builder builder = target.request(MediaType.APPLICATION_JSON_TYPE);
return builder.post(json, String.class);
}

最佳答案

在 Jersey 2.0+ 中,您可以注册 ClientRequestFilter 的自定义实现那可以manipulate the headers在客户端 API 将发出的请求中。

您可以通过传递到 filter 方法的 ClientRequestContext 参数来操作 header 。 getHeaders() method返回 MultivaluedMap,您可以在其上放置您的 header 。

您可以 register在您调用 newClient 之前,您的自定义 ClientRequestFilter 与您的 ClientConfig

config.register(MyAuthTokenClientRequestFilter.class);

关于java - Jersey 2.x : How to add Headers on RESTful Client,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32532959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com