【发布时间】:2021-01-20 20:33:25
【问题描述】:
假设我想对此建模:
<?xml version="1.0" encoding="UTF-8"?>
<something>
<entry value="foo">some text</entry>
<entry value="bar">some other text</entry>
</something>
采用这种建模方式:
@XmlRootElement(name = "something")
public class Something {
@Schema(name = "entry")
@JacksonXmlProperty(localName = "entry")
@JacksonXmlElementWrapper(useWrapping = false)
List<Entry> entries = new ArrayList<>();
}
public class Entry {
@XmlAttribute
String value;
@JacksonXmlText
String inlineTxt;
}
我对 @JacksonXmlText 的使用显然不够,因为这是 Swagger 在我按下 Try it out 时为我生成的:
<?xml version="1.0" encoding="UTF-8"?>
<something>
<entry value="string">
<inlineTxt>string</inlineTxt>
</entry>
</something>
但是,当我收到以我想要建模的方式形成的对象时,Jackson 可以正常工作。 (getter 和 what-not 由 Lombok 生成,为简洁起见,此处未显示其他注释。)
如何让 OpenAPI 生成一个没有<inlineTxt> 标签的示例对象?
【问题讨论】:
标签: java xml jackson swagger openapi