Java 为什么Swagger 1.X会忽略@XmlAttribute字段?
我有一个用Swagger 1.X、Jackson和JAXB注释的简单模型类,例如:Java 为什么Swagger 1.X会忽略@XmlAttribute字段?,java,swagger,Java,Swagger,我有一个用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
@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处理以生成一个swagger.json文档,该文档通过swagger UI呈现。CXF的版本是3.2.1,它似乎使用了Swagger 1.5.16
在生成的swagger.json文档中,使用@xmldattribute注释的字段被忽略(只包括@xmlement注释的值字段)。除了将它们全部更改为XML元素外,是否有其他方法可以使Swagger在生成的规范中包含这些元素?显然,这是CXF 3.2.1使用的Swagger版本(1.5.16)中的一个错误。这个错误被修复了