首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Jersey Invocation中使用补丁方法?

如何在Jersey Invocation中使用补丁方法?
EN

Stack Overflow用户
提问于 2019-04-21 06:03:40
回答 1查看 5.2K关注 0票数 3
代码语言:javascript
复制
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,并被注入。

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

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

对如何打补丁有什么建议吗?

====更新====

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

仅供参考,使用Java 1.8.0_131-b11

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-21 18:59:42

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

代码语言:javascript
复制
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)));
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55778145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档