2013-07-04 4 views
0

내 쿼리에서 반복 가능한 요소를 반환하고 이제 JSON 형식으로 사용자에게 반환하려고하지만 Jersey에서 변환 할 수 없습니다. 그것은 말한다 :Jongo and Jersey

자바 클래스 org.jongo.MongoIterator 및 Java 유형 java.lang.Iterable 및 MIME 미디어 타입 응용 프로그램/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; 
} 

목록 유형으로 변환해야합니까 아니면 다른 효과적인 방법이 있습니까?

답변

3

당신은 BTW 더 실체화 Jongo 때마다 새 요청을 처리해서는 안 자세한 내용

에 대한 https://stackoverflow.com/a/10117051/122975를 참조 Guava 라이브러리

@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); 
} 

에서 newArrayList 방법을 사용하거나 새 목록에 반복자를 복사 할 수 있습니다.

+0

흠, 그게 효과가 있지 않습니까? –