Jersey 2.x API 是否有一个函数可以执行灵活的 REST 动词 (GET, POST)

Does Jersey 2.x API have one function that can execute flexible REST verbs (GET, POST)

我正在升级一堆测试工具 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)中不存在这种灵活性,则会加分。 提前对你做了什么你为什么不试试看!??

看起来您可以像 resourceTarget.request().build(method)... 那样做您想要的事情。查看 build(String method)build(String method, Entity<?> entity) 方法的文档 here.