我有以下课程对象。
public class Course {
private int id;
private String name;
private Person person;
public Course(){
}
public Course(int id, String name, Person person){
this.id = id;
this.name = name;
this.person = person;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public Person getPerson() {
return person;
}
}
我用一种方法创建了以下Service类。
public class DataService {
public ArrayList<Course> getAllCourses(){
ArrayList<Course> list = new ArrayList<>();
list.add(new Course(101, "Introduction to Java", new Person(201, "Asish", "Goswami")));
list.add(new Course(102, "Intermediate Java", new Person(202, "Amiyo", "Bagchi")));
list.add(new Course(103, "Advanced Java", new Person(203, "Atul", "Prasad")));
return list;
}
}
我正在使用REST服务调用它。
@Path("/courses")
public class CourseService {
@GET
@Produces(MediaType.APPLICATION_JSON)
public ArrayList<Course> getAllCourses(){
DataService service = new DataService();
return service.getAllCourses()
}
}
返回以下输出
[{},{},{}]
我不知道出了什么问题。任何帮助高度赞赏。
答案 0 :(得分:0)
您需要将POJOMappingFeature
设置为true才能让Jearsey将POJO的serialization
支持到Json中。可以通过在部署描述符中设置init param
来完成,如下所示:
<init-param>
<param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
<param-value>true</param-value>
</init-param>
Here就是一个完整的例子。