Java Rest方法:返回XML集合而不是正确的分组

Java Rest方法:返回XML集合而不是正确的分组,java,rest,Java,Rest,我有以下几点建议: @XmlRootElement(name = "User") public class User implements Serializable { private static final long serialVersionUID = 1L; private int id; private String name; private String profession; public User() { } pub

我有以下几点建议:

@XmlRootElement(name = "User")
public class User implements Serializable {
    private static final long serialVersionUID = 1L;

    private int id;
    private String name;
    private String profession;

    public User() {
    }

    public User(int id, String name, String profession) {
        this.id = id;
        this.name = name;
        this.profession = profession;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getProfession() {
        return profession;
    }

    public void setProfession(String profession) {
        this.profession = profession;
    }
服务定义为:

@GET 
@Path("/users") 
@Produces(MediaType.APPLICATION_XML) 
List<User> getUsers();
@GET
@路径(“/users”)
@生成(MediaType.APPLICATION\u XML)
列出getUsers();
当我使用REST客户机(Java或Postman)进行调用时,我会返回以下XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<collection>
    <User>
        <id>1</id>
        <name>Mahesh</name>
        <profession>Teacher</profession>
    </User>
</collection>

1.
马赫什
老师
为什么返回的XML包含
而不是

列表
包装到单独的对象中,并在该集合上使用
@xmlementwrapper

我没有测试,但您可以尝试在
getUsers()
上将
@xmlementwrapper
包装到单独的对象中,并在该集合上使用
@xmlementwrapper


我没有测试,但您可以尝试在
getUsers()

上使用
@xmlementwrapper
,我尝试在
getUsers()
上的服务中添加
@xmlementwrapper(name=“Users”)
,但它没有做任何事情。我不确定是否可以将
列表
包装到另一个对象中,因为这是服务的一项要求。但您正在导出XML,因此如何实现这一点不是消费者关心的问题。因为在客户端中,我还需要能够传入
GenericType()
以及如下内容:
列表用户=客户端.target(端点).request(MediaType.APPLICATION_XML).get(new GenericType(){})
您可能也需要泛型根元素。我尝试在
getUsers()
上的服务中添加
@xmlementwrapper(name=“Users”)
,但它没有做任何事情。我不确定是否可以将
列表
包装到另一个对象中,因为这是服务的一项要求。但您正在导出XML,因此如何实现这一点不是消费者关心的问题。因为在客户端中,我还需要能够传入
GenericType()
以及如下内容:
列表用户=客户端.target(端点).request(MediaType.APPLICATION_XML).get(new GenericType(){})为此,您可能还需要通用根元素。