我目前正在使用Apache CXF 3.1.11版构建JAX-RS客户端。我一直在网上看一些简单的例子,看起来WebClient类已经丢失了。
请参阅我在网上找到的以下示例代码。
public static void main(String[] args) throws JsonParseException,
JsonMappingException, IOException {
WebClient client = WebClient
.create("http://localhost:8080/",
Collections.singletonList(new JacksonJsonProvider()))
.path("test").accept(MediaType.APPLICATION_JSON_TYPE);
Message message = client.get(Message.class);
System.out.println("Message recieved : " + message);
}
我无法在代码中的任何位置找到WebClient类,并使用以下maven依赖项。
请有人确认我是否遗漏了依赖项,或者是否已从3.1.11版本中删除了WebClient
答案 0 :(得分:0)
如果您不确定具体的提供程序实现,可以使用 JAX-RS 标准部分的类,它们是duo Client
和 WebTarget
。但是,对于编组问题,当然,您可能仍需要手动配置特定依赖项,或者 Apache CXF 已经提供了它。
Client client = ClientBuilder.newBuilder().build();
WebTarget target = client
.target("http://localhost:8080/");
Response response = target.request().get();
Message message = client.readEntity(Message.class);
/*
// now.. process the message
for (Message message : message.get...) {.. }
*/
response.close(); // close connections.
答案 1 :(得分:0)
你需要添加cxf-rt-frontend- jaxrs 而不是cxf-rt-frontend-jaxws