【问题标题】:Does Jersey 2.x API have one function that can execute flexible REST verbs (GET, POST)Jersey 2.x API 是否有一项功能可以执行灵活的 REST 动词(GET、POST)
【发布时间】:2016-05-04 16:53:36
【问题描述】:

我正在升级一堆测试工具 Groovy(Java) 以针对 Jersey 2.x 客户端 (javax.ws.rs.client.Client) 执行,从 1.x 升级它。我可能很快就会偶然发现该功能,但看不到我现在正在做的改变。一直在研究the API 寻找我的问题的答案。

新的 API 似乎只允许严格流畅的接口动词,例如

Response response = invocationBuilder.get();

旧的 1.x 代码允许使用称为 method 的字符串参数定义方法类型的参数:

def response = userServiceContext.target()
                 .path("/$path")
                 .method(method, ClientResponse.class)

显示“put”调用的令人讨厌的严格新代码(示例):

WebTarget resourceTarget = jerseyClient().target("/$path")
Invocation invocation = resourceTarget.request(MediaType.APPLICATION_ATOM_XML)
                          .accept(MediaType.APPLICATION_ATOM_XML)
                          .put(ClientResponse.class, entry)
return invocation.submit()

为了方便[要求太多? :) ] 有人可以指出我在 2.x 中做同样事情的开箱即用方法吗?我一直在研究 API,发现这很烦人 pebble。如果您解释为什么新 API 中不存在这种灵活性(没有 sass),则可以加分。 提前向你做了什么你为什么不试试看!??

这样的问题道歉

【问题讨论】:

  • 你真的看过you linked to的完整javadoc吗?滚动。我相信你会找到一些东西;-)
  • 如果我理解你的问题正确,你只是在寻找method 方法,有一个。你还有什么要找的吗?

标签: java rest jersey jax-rs jersey-2.0


【解决方案1】:

看起来你可以做类似resourceTarget.request().build(method)... 的事情来做你正在寻找的事情。查看build(String method)build(String method, Entity<?> entity) 方法here 的文档。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 2015-11-02
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    相关资源
    最近更新 更多