我正在尝试使用Jersey 2.x发送休息请求。我能找到的所有样品都用Jersey 1.x。
这是在Jersey 1.X中的操作方式
String jsonPayload = "{\"name\":\"" + folderName + "\",\"description\":\"" + folderDescription + "\"}";
WebResource webResource = client.resource(restRequestUrl);
ClientResponse response =
webResource.header("Authorization", "Basic " + encodedAuthString)
header("Content-Type", "application/json")
post(ClientResponse.class, jsonPayload);
我如何在Jersey 2.x中执行等效操作?
Client client = ClientBuilder.newClient(clientConfig);
WebTarget target = client.target(m_docs_base_url + "/users/items");
String jsonPayload = "{\"info\":\"" + "smith" + "\"}";
Invocation.Builder invocationBuilder = target.request("text/plain");
Response response = invocationBuilder.get(jsonPayload);
2条答案
按热度按时间axzmvihb1#
这是一个古老的问题,但对其他寻找类似东西的人来说是有益的。您的Jersey 1.x示例是一个POST请求。所以你只需要在
到JAX-RS 2.0
请参阅使用JAX-RS客户端API https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest/client.html的示例
Jersey 1.x到Jersey 2.x迁移指南https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest/migration.html
6rqinv9w2#
你看过泽西客户的文件了吗?
https://jersey.java.net/documentation/latest/client.html#d0e4692
请记住使用post()方法和JSON有效负载,而不是像那个例子中那样使用get()方法。