来自 Spring RestController 的 return 中的意外和不需要的 div 元素

Unexpected and unwanted div element in return from Spring RestController

我 return 来自 Spring RestController 方法的以下 class 的对象实例。

package x

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@XmlRootElement(name = "invoices")
public class Invoices implements Serializable {

    private Info info;

    private Set<Customer> customers = new HashSet<>();

    private List<Invoice> invoices = new ArrayList<>();

    public Info getInfo() {
        return info;
    }

    public void setInfo(Info info) {
        this.info = info;
    }

    @XmlElement(name = "customer")
    public Set<Customer> getCustomers() {
        return customers;
    }

    public void setCustomers(Set<Customer> customers) {
        this.customers = customers;
    }

    @XmlElement(name = "invoice")
    public List<Invoice> getInvoices() {
        return invoices;
    }

    public void setInvoices(List<Invoice> invoices) {
        this.invoices = invoices;
    }
}

控制器方法有签名;

  @RequestMapping(value = "/invoice", method = RequestMethod.GET, produces = "application/xml; charset=UTF-8")

这个 return 是一个 XML,它有一个意外的 div 元素,并且在顶部元素上有一个名为 slick_uniqueid 的属性。我如何摆脱它,它来自哪里?

<invoices slick-uniqueid="3">
<div>
<a id="slick_uniqueid" />
</div>

我自己找到了答案。来自服务器的原始响应不包括此属性,也不包括额外元素。 chrome 在浏览器中显示时会稍微修改 XML 。如果我也执行 'view source' ,则属性和元素也不存在。奇怪的。我以前从来没有注意到