RESTEasy客户端:重建对象
我正在使用RESTEasy来使用REST服务,我正在尝试使用Twitter的搜索API。
所以我创建了这个界面:
public interface SimpleClient { @GET @Path("search.json") @Produces("application/json") ClientResponse<Set> getSearchResults( @QueryParam("q") String hashtag, @QueryParam("result_type") String resultType ); }
并称之为:
SimpleClient client = ProxyFactory.create(SimpleClient.class,"http://search.twitter.com/"); ClientResponse<Set> response = client.getSearchResults("#wowodc","recent"); System.out.println(response.getEntity(Set.class));
但我得到了:
ClientResponseFailure:无法找到内容类型application / json的MessageBodyReader; charset =“utf-8”并输入interface java.util.Set
我尝试使用POJO而不是java.util.Set,但我得到了同样的exception。 唯一没有抛出exception的是使用String而不是Set。
通过阅读Web上的一些示例代码,我认为Set或POJO作为实体类型可以工作,但它不适合我。 对Twitter的查询确实返回了有效结果。
您需要确保包含可以解组JSON响应的RESTEasy提供程序。 有一个基于Jackson解析器库的可以使用的,它在这里的文档中有描述。
- ClassNotFoundException:net.sourceforge.jtds.jdbc.Driver
- 问题 – java.lang.ClassNotFoundException:org.springframework.web.servlet.DispatcherServlet
- Spring安全认证 – 有关文档的问题
- 使用JUnit 5,如何在测试实例之间的“ExtensionContext.Store”中共享信息?
- Spring Retry Junit:使用自定义重试策略测试重试模板
- WebDriver:如何检查页面对象Web元素是否存在?
- 是否有一个很好的替代Play,我可以将DynamoDB用于AWS上的Web应用程序?
- 使用Mojo Jaxb2 maven插件创建Java类时生成hashCode()和equals()
- 获取对象字段前值hibernate JPA
- 如何配置MySQL JDBC驱动程序mysql-connector-java-5.1.12?
- 项目中hibernate.cfg.xml的位置?