来自 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' ,则属性和元素也不存在。奇怪的。我以前从来没有注意到
我 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' ,则属性和元素也不存在。奇怪的。我以前从来没有注意到