gpt4 book ai didi

java - 通过 Jersey 客户端调用 REST api 时添加多个 header

转载 作者:行者123 更新时间:2023-12-01 06:22:59 26 4
gpt4 key购买 nike

我正在尝试添加多个 header 。但迄今为止却惨遭失败。我尝试了很多代码调整但失败了。有人可以帮我修复代码或者至少告诉我出了什么问题吗?

header 映射代码:

    Map<String, String> headers = new HashMap<String, String>();

headers.put("authorization", authToken);
headers.put("API-Version", apiVersion);
headers.put("Content-Type", MediaType.APPLICATION_JSON);

实际调用代码:

    String serviceUrl = serviceHostUrl;
Client client = Client.create();
WebResource webResource = client.resource(serviceUrl).path(path);

WebResource.Builder builder = webResource.getRequestBuilder();
if(headers != null && !headers.isEmpty()) {
for(Map.Entry<String, String> entry : headers.entrySet()) {
builder.header(entry.getKey(), entry.getValue());
}
}

ClientResponse response = builder.post(ClientResponse.class, input);

更新

如果在第二个片段中我使用下面的代码而不是在循环中设置标题,那么它工作得很好。这真的很奇怪。

    builder.header("authorization", "Basic SDFSFSDFSDFSDFSDFSDFSDF");
builder.header("API-Version", "5.2");
builder.header("Content-Type", MediaType.APPLICATION_JSON);

最佳答案

我认为这里的问题是您尝试访问的 MAP 类型。

Map<String, Object> headers = new HashMap<String, Object>();

WebSource 构建器接受 header(String,Object)。因此尝试更改 map 类型。

关于java - 通过 Jersey 客户端调用 REST api 时添加多个 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39661821/

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