java - Swagger 不解析@XmlElementWrapper 注释

标签 java json jersey swagger swagger-ui

我正在使用 Swagger 为基于 jax-rs 的 API 生成文档。在我的一个模型中,我具有以下属性:

@XmlElementWrapper(name = "clip_list")
@XmlElement(name = "clip")
public List<Clip> mClips = new ArrayList<Clip>();

但是在 UI 中生成的 JSON 模型如下:

"clip": [
    {
    "duration":"",
    "url":"",
    "thumb":"",
    }
]

很明显,XmlElementWrapper 注释没有被解析。如何强制 Swagger 正确嵌套元素?

输出应该是这样的:

"clip_list": [
    {
    "duration":"",
    "url":"",
    "thumb":"",
    }
]

最佳答案

输出看起来正确。欲了解更多详细信息,请查看此issue在 Swagger 存储库中。

您可以尝试使用@ApiModelProperty注解来操作模型属性的元数据,如下所示:

@XmlElement(name = "clip")
@ApiModelProperty(value = "clip_list")
@XmlElementWrapper(name = "clip_list")
public List<Clip> mClips = new ArrayList<Clip>();

有关 @ApiModelProperty 的更多详细信息API,看看javadocs .

关于java - Swagger 不解析@XmlElementWrapper 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34993641/

相关文章:

java - 何时捕获 java.lang.Error?

java - 如何在嵌套类的内部类中构造和使用对象?

c++ - GET 请求的 TLS 初始化失败

javascript - 无法将数组从php输入到javascript

java - 我怎样才能获取这个工作代码并使其使用java泛型?

java - 自动更新 map /集并检查大小

Java Tensorflow + Keras 等价于 model.predict()

javascript - 在 DOM 中之前将 jQuery on 'click' 函数分配给 ajax 生成的列表元素

java - 在 JAXB XmlAdapter 中执行 JNDI 查找

java - 在 Android 中发送多部分/表单数据请求