我有以下 POJO:
@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();
当我使用 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>
为什么返回的 XML 包含 <collection>
而不是<Users>
?
最佳答案
换行List<User>
进入单独的对象并使用 @XMLElementWrapper
在那个集合上。
https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/XmlElementWrapper.html
我没有测试过,但你可以尝试使用@XMLElementWrapper
上getUsers()
关于java - 休息方法: Returns Collection of XML instead of proper grouping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50240072/