Java 从Jersey Rest返回复杂对象
我正在进行一个项目,我们使用Jersey Rest提供服务。我有一个项目类,它有一系列的活动Java 从Jersey Rest返回复杂对象,java,rest,jersey,jax-rs,Java,Rest,Jersey,Jax Rs,我正在进行一个项目,我们使用Jersey Rest提供服务。我有一个项目类,它有一系列的活动 package com.test.services.model; import java.util.ArrayList; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElem
package com.test.services.model;
import java.util.ArrayList;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Project {
public Project(){
ArrayList<Activity> activities = new ArrayList<Activity>();
Activity activity = new Activity();
activity.setId("act1");
activity.setName("Activity 1");
activities.add(activity);
activity = new Activity();
activity.setId("act2");
activity.setName("Activity 2");
activities.add(activity);
this.setActivities(activities);
}
private ArrayList<Activity> activities;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
@XmlElement(name="activities")
public ArrayList<Activity> getActivities() {
return activities;
}
public void setActivities(ArrayList<Activity> activities) {
this.activities = activities;
}
@XmlElement(name="Codes")
public ArrayList<String> getCodes() {
ArrayList<String> str = new ArrayList<String>();
str.add("Hello");
str.add("World");
return str;
}
private int id;
}
这就是我的XML的样子
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<projects>
<project>
<activities/> // Empty
<activities/> //Empty
<Codes>Hello</Codes>
<Codes>World</Codes>
<id>1</id>
<name>Project 1</name>
</project>
<project>
<activities/>
<activities/>
<Codes>Hello</Codes>
<Codes>World</Codes>
<id>2</id>
<name>Project 2</name>
</project>
<project>
<activities/>
<activities/>
<Codes>Hello</Codes>
<Codes>World</Codes>
<id>3</id>
<name>Project 3</name>
</project>
<project>
<activities/>
<activities/>
<Codes>Hello</Codes>
<Codes>World</Codes>
<id>4</id>
<name>Project 4</name>
</project>
</projects>
我添加了空的ArrayList代码;查看ArrayList是否有任何问题。我不确定为什么在我的XML中返回空活动
任何帮助都将不胜感激
谢谢,
R我自己解决了。奇怪的是,我需要在getter名称前面加上get。就像对于Id,我必须将其更改为getId。getter和setter的命名转换为getFoo和setFoonewFoo。奇怪的是,你觉得这很奇怪。我刚才说的是,为什么即使在jersey rest中定义了getter上的XML注释,我仍然需要遵循命名约定,而不是一般的JAVA getter和setter。无论如何,谢谢你的回答