我的查询返回Iterable元素,现在我想以JSON格式将其返回给用户,但泽西岛无法转换它。上面写着:
未找到用于Java类org.jongo.MongoIterator、Java类型java.lang.Iterable和MIME媒体类型application/xml的消息体编写器
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Iterable<Complex> getISS(){
DB db = ConnectionHelper.client.getDB("testdb");
Jongo jongo = new Jongo(db);
MongoCollection complex = jongo.getCollection("COMPLEX");
Iterable<Complex> all = complex.find().as(Complex.class);
return all;
}我是否需要将其转换为列表类型,还是有其他有效的方法来实现?
发布于 2013-07-04 09:08:03
您可以从newArrayList库中使用番石榴方法
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Iterable<Complex> getISS(){
DB db = ConnectionHelper.client.getDB("testdb");
Jongo jongo = new Jongo(db);
MongoCollection complex = jongo.getCollection("COMPLEX");
Iterable<Complex> all = complex.find().as(Complex.class);
return Lists.newArrayList(all);
}或将可迭代复制到新列表中,请参阅https://stackoverflow.com/a/10117051/122975获取更多信息。
顺便说一下,每次处理新请求时都不应该实例化Jongo。
https://stackoverflow.com/questions/17462547
复制相似问题