java - 为什么 Swagger 1.X 会忽略 @XmlAttribute 字段?
问题描述
我有一个用 Swagger 1.X、Jackson 和 JAXB 注释注释的简单模型类,例如:
@XmlRootElement(name = "ClassA")
@ApiModel(value = "ClassA")
@XmlAccessorType(XmlAccessType.NONE)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ClassA
{
@ApiModelProperty(value = "The attribute key", example = "a key")
@XmlAttribute
private String key;
@ApiModelProperty(value = "The attribute name", example = "a name")
@XmlAttribute
private String name;
@ApiModelProperty(value = "a value")
@XmlElement
private Object value;
public String getKey()
{
return key;
}
public void setKey(String key)
{
this.key = key;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public Object getValue()
{
return value;
}
public void setValue(Object value)
{
this.value = value;
}
}
这由 CXF 的Swagger2Feature处理以生成通过 Swagger-UI 呈现的 swagger.json 文档。CXF 版本为 3.2.1,似乎使用 Swagger 1.5.16。
在生成的 swagger.json 文档中,使用 @XmlAttribute 注解的字段将被忽略(仅包含 @XmlElement 注解的值字段)。有没有办法让 Swagger 在生成的规范中包含这些,而不是将它们全部更改为 XML 元素?
解决方案
显然,这是 CXF 3.2.1 - Swagger Core 1847使用的 Swagger 版本 (1.5.16) 中的一个错误。该错误已在Swagger Core 1.5.18中修复。
推荐阅读
- html - 从组件外部关注组件内部的输入
- javascript - 混合内容:页面通过 HTTPS 加载,但请求了不安全的 XMLHttpRequest 端点
- wordpress - Wordpress - 如何在单独的 div 中显示剩余的帖子内容*减去*摘录?
- vba - 按行连接所有数据并删除数字
- excel - 拉入列中的下一个值
- mysql - 根据每个任务的最佳提交动态计算用户积分
- networking - Google Cloud Windows VM RDP(tcp)端口更改不起作用
- android - 可侧滑的 BottomSheets 画廊?
- c++ - noskipws 有什么问题?
- javascript - 禁用无状态组件中的按钮 - 反应