2017-02-07 2 views
1

Jersey/Jackson을 JSON에 대한 반환 객체로 사용하고 있습니다. 단일 개체에 대해서는 성공적으로 반환 할 수 있지만 목록에 대해서는 반환 할 수 없습니다. 이처럼Jersey/Jackson으로 JSON 객체 목록을 반환하는 방법

<dependencies> 

    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-bundle</artifactId> 
     <version>1.19</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>1.19</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-core</artifactId> 
     <version>1.19</version> 
    </dependency> 
    <dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-json</artifactId> 
     <version>1.19</version> 
    </dependency> 


</dependencies> 

내 모델 :

public class Person { 


private String name; 
private String surname; 
private int age; 
public String getName() { 
    return name; 
} 
public void setName(String name) { 
    this.name = name; 
} 
public String getSurname() { 
    return surname; 
} 
public void setSurname(String surname) { 
    this.surname = surname; 
} 
public int getAge() { 
    return age; 
} 
public void setAge(int age) { 
    this.age = age; 
} 
public Person(String name, String surname, int age) { 
    super(); 
    this.name = name; 
    this.surname = surname; 
    this.age = age; 
} 
public Person() { 
    super(); 
} 


@Override 
public String toString() { 


    return "Person [name="+ name +", surname="+ surname +", age="+ age +"]"; 
} 

내 서비스

어떻게이

의존성이 같은 내 예입니다 JSON

에 목록 객체 직렬화를 반환 할 좋아요 :

@Path("/getperson") 
@GET 
@Produces(MediaType.APPLICATION_JSON) 
public Person getPerson(){ 

    Person person = new Person(name, surname, age); 



    return person; 

} 


@Path("/getpersons") 
@GET 
@Produces(MediaType.APPLICATION_JSON) 
public List<Person> getPersons(){ 

    Person p1 = new Person("gosling", "james", 55); 
    Person p2 = new Person("torvalds", "linus", 48); 
    Person p3 = new Person("riche", "dennis", 60); 

    List<Person> persons = new ArrayList<Person>(); 
    persons.add(p1); 
    persons.add(p2); 
    persons.add(p3); 

    return persons; 


} 

getPerson()은 잘 작동하지만 getpersons()는 비어있게됩니다. 내 시나리오에서

+0

/getpersons는 사람 목록을 가져와야합니다. /getPersons을 사용하면 안됩니다. – ravthiru

답변

0

, 나는 글래스 피쉬 저지 종속성을 사용하고 있습니다 : I 0 구성 또는 매핑 싶습니다

<dependency> 
     <groupId>org.glassfish.jersey.core</groupId> 
     <artifactId>jersey-server</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.media</groupId> 
     <artifactId>jersey-media-multipart</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.media</groupId> 
     <artifactId>jersey-media-json-jackson</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.glassfish.jersey.containers</groupId> 
     <artifactId>jersey-container-servlet</artifactId> 
    </dependency> 

및 목록은 거의 반환합니까. 코드에 특별한 문제가 없습니다.

관련 문제