【问题标题】:Swagger scan only annotated resourcesSwagger 仅扫描带注释的资源
【发布时间】:2018-07-16 08:41:53
【问题描述】:

有没有办法让 swagger 只扫描带有 @ApiModel 和 @ApiModelProperty 注释的类和字段?

我正在使用 Maven Swagger 插件,但问题是它会扫描完整的模型。模型包含仅用于内部处理的字段,一些仅用于我们的 xml api 和一些仅用于 json api。

我希望 swagger 只扫描 json api 的字段。因此,我只想对 json 字段进行注释。

我现在唯一的解决方案是注释每个字段并将不需要的字段标记为“隐藏”。

知道如何更轻松地实现这一目标吗?

【问题讨论】:

  • 将它们分成包。例如:models.internalmodels.xmlmodels.json。最后让 Swagger 只扫描来自models.json的那些

标签: java maven annotations swagger openapi


【解决方案1】:

解决方案是检查 swagger 核心项目并更改代码。在 ModelResolver 类中有一行代码,它试图从当前模型中获取“Ap​​iModelProperty”注解。在那里,您必须进行空检查,并且仅在注释对象不为空时才执行下一行。

只有 1 行代码:

ApiModelProperty mp = member.getAnnotation(ApiModelProperty.class);
if(mp != null) { // custom modifcation
    // around 100 lines of code ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-17
    • 2016-10-02
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多