【发布时间】:2015-05-31 18:22:50
【问题描述】:
我正在为一个发送简单响应的服务编写一个基于 JSX-RS 的 Spring+CXF 客户端,如下所示。
JSON:响应
{
"message": "Hey Karthik"
}
我的 spring.xml 中有以下配置:
<jaxrs:providers>
<bean class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
<property name="dropRootElement" value="true" />
</bean>
</jaxrs:providers>
我的实体类是这样的
@XmlRootElement
public class HiModel {
private String message;
public HiModel(){}
.
.
.
}
我的 JAX-RS 客户端是这样的:
@Test
public void getMessage(){
WebClient client = WebClient.create("http://localhost:8182");
client.path("hiService/sayHi/hi");
client.type(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON);
Response r = client.get();
System.out.println(r.readEntity(HiModel.class));
}
我收到错误:没有为 com.karthik.model.HiModel 类找到消息正文阅读器,ContentType: application/json
我该如何解决?我选择作为客户编写的方法有很多问题,但我首先需要解决这个问题。请帮忙。
编辑1:我可以解决它
System.out.println(r.readEntity(String.class));
但是,我如何将实体解析为 HiModel.class
【问题讨论】:
-
您的问题令人困惑,请准确说明您的问题是什么
-
尝试创建
List并将JSONProvider添加到列表中。然后WebClient.create("...", list); -
或
WebClient.create("...", locationOfConfigFile);。请参阅WebClientAPI