gpt4 book ai didi

patch - 如何在 Jersey Invocation Builder 中使用 PATCH 方法?

转载 作者:行者123 更新时间:2023-12-04 16:02:27 30 4
gpt4 key购买 nike

WebTarget webTarget = httpClient.target(url);
Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_JSON)
.header(HttpUtils.AUTHORISATION_HEADER_NAME, "Bearer " + theAccessToken);
response = invocationBuilder.put(Entity.json(objectMapper.writeValueAsString(payload)));

httpClient 的类型为 javax.ws.rs.client.Client并被注入(inject)。

invocatioBuilder 实现 javax.ws.rs.client.Invocation.Builder , 但在包 org.glassfish.jersey.client 中定义

invocationBuilder.put、invocationBuilder.post、invocationBuilder.get 都存在并且可以工作,但是这里没有 invocationBuilder.patch - 它丢失了。

关于如何修补的任何建议?

==== 更新 ====

经过一番谷歌搜索,似乎 Jersey 客户端不支持补丁。由于我们所有的应用程序 API 调用都是使用 jersey 客户端进行的,因此这有点问题。我想我需要找到一个替代的库、方法和代码来调用补丁,但它也需要支持 OATH 2.0。如果存在这样的库,并且理想情况下有一些示例,您有什么想法吗?

仅供引用,使用 Java 1.8.0_131-b11

最佳答案

感谢@Paul Samsotha,工作解决方案是这样的:

WebTarget webTarget = httpClient.target(url);
webTarget.property(HttpUrlConnectorProvider.SET_METHOD_WORKAROUND, true);

Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_JSON)
.header(HttpUtils.AUTHORISATION_HEADER_NAME, "Bearer " + theAccessToken);
response = invocationBuilder.method("PATCH", Entity.json(objectMapper.writeValueAsString(payload)));

关于patch - 如何在 Jersey Invocation Builder 中使用 PATCH 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55778145/

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