java - 休息方法: Returns Collection of XML instead of proper grouping

标签 java rest

我有以下 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

我没有测试过,但你可以尝试使用@XMLElementWrappergetUsers()

关于java - 休息方法: Returns Collection of XML instead of proper grouping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50240072/

相关文章:

java - 如何实现Grpc用户名/密码认证。 Python 客户端、Java 服务器

java - 我可以在 xxxx-validation.xml 中为列表配置验证吗?

java - 如何更改 Tomcat 7.X 中的 session 持久性?

web-services - 使用 JAX-RS Jersey 2.2 获取带有 Content-Type 和 Accept header 的请求

python - "ObjectId is not JSON serializable?"时如何正确jsonify Mongo DB文档

python - REST api 中的普通(非 HTML)错误页面

rest - Azure IOT 中心 Rest API 未经授权

java - ProcessBuilder 不在服务器上创建文件

java - Java 的 DOM 解析器打印相同的值

java - Spring MVC - 从另一个休息服务内部调用休息服务