提问人:Ondrej Havlicek 提问时间:9/25/2023 最后编辑:Ondrej Havlicek 更新时间:9/25/2023 访问量:19
Spring resttemplate 和 jaxb 一起 - 忽略 null 元素
Spring resttemplate together with jaxb - ignore null elements
问:
我有一个 XSD 文件表单,我使用 JAXB 生成了一个 POJO。
像这样:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="XYZ">
<xs:complexType>
<xs:sequence>
<xs:element name="A" type="xs:string" minOccurs="0" />
<xs:element name="B" type="xs:string" minOccurs="0" />
从那以后,我得到了:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"a",
"b",
})
@XmlRootElement(name = "XYZ")
public class XYZ {
@XmlElement(name = "A")
protected String a;
@XmlElement(name = "B")
protected String b;
当我使用 rest 模板将请求发送到 rest 服务时,我希望忽略具有空/null 值的元素。最近我开始使用某个平台的新版本,其中更新了 jaxb/spring/much libs 的版本。
HttpEntity<XYZ> requestHttpEntity = new HttpEntity<>(xyz);
B response;
try {
ResponseEntity<B> responseEntity = restTemplate.exchange("someAddress", HttpMethod.POST, requestHttpEntity, B.class);
response = responseEntity.getBody();
}
catch (Exception e) {
return null;
}
不幸的是,我无法说服系统忽略 null 值 - 您有这方面的经验吗?重要的是我不能直接更改 POJO,只能生成它。
多谢。
答: 暂无答案
评论