非属性(内联)文本值的 OpenAPI 注释

OpenAPI annotation for non-attribute (inline) text value

假设我要建模:

<?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 的使用显然不够,因为这是当我按下 Try it out 时 Swagger 为我生成的:

<?xml version="1.0" encoding="UTF-8"?>
<something>
    <entry value="string">
        <inlineTxt>string</inlineTxt>
    </entry>
</something>

然而,当我收到以我想要建模的方式形成的对象时,Jackson 会正确地完成工作。 (为了简洁起见,getter 和其他注释由 Lombok 生成,此处未显示其他注释。)

如何让 OpenAPI 生成没有这些 <inlineTxt> 标签的示例对象?

OpenAPI 规范 XML 具有属性和文本的元素,例如

<entry value="foo">some text</entry>

这意味着您的 XML 结构无法使用 OpenAPI 和相关的 Java 注释表示。