java - Swagger-ui 不会从示例正文中隐藏只读嵌套对象

标签 java swagger-ui swagger-2.0

我正在使用 swagger-ui 和 lombok 开发 spring-boot 应用程序。目前我正在尝试从请求正文中隐藏嵌套对象,但它仍然显示在 swagger-ui 页面上的示例 json 中。
我的类(class)带有注释(简化为仅相关内容):

@Data
@ApiModel(description = "Character model")
public class Character {

    @ApiModelProperty(readOnly = true)
    private Long id;

    @ApiModelProperty(readOnly = true)
    private SearchAnnouncement searchAnnouncement;
}
注意:@Data 是 Lombok 注释,它生成 getter、setter 和其他一些东西
当我访问 swagger 页面上的示例模型时,“id”字段正确隐藏在示例 json 中,并在响应模型中可见。
但是“searchAnnouncement”并未隐藏在示例 json 中。
我试过:
  • 使用 readOnly = true
  • 使用 accessMode = ApiModelProperty.AccessMode.READ_ONLY
  • 使用@Setter(AccessLevel.NONE),它可以防止为该字段生成setter,因为我在某处读到某处正在检查setter 是否存在并根据该
  • 设置只读
  • 以上的不同组合

  • 但在所有情况下,示例 json 看起来都像这样(隐藏了 id,而 searchAnnouncement 可见):
    {
        "searchAnnouncement": {
             "id": 0,
        },
    }
    
    简而言之,我的问题是:
    是否可以隐藏示例 json 嵌套对象?
    编辑:
    忘了提及我目前在我的依赖项中有 2.9.2 版的 swagger2 和 swagger-ui,但我从 2.8.0 升级希望隐藏这个嵌套对象

    最佳答案

    我遇到了同样的问题,我通过设置 jsonIgnore 修复了它在我的二传手上。我正在使用依赖版本 2.9.2。

    关于java - Swagger-ui 不会从示例正文中隐藏只读嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53454357/

    相关文章:

    jwt - Swagger UI 身份验证 header

    server - 从 swagger 规范生成 django rest 框架服务器

    spring-mvc - 如何找到招摇的路径

    java - 耶拿 - 对元素进行排序

    java - 访问延迟加载字段的 id 时出现 LazyInitialization Exception

    swagger - swagger-ui文档中如何使用本地json文件

    Springfox swagger 在 Spring Boot 2.2.0 中不起作用

    java - 从 Eclipse 上的实体生成表

    java - 如何使用证书 pkcs7 签署 xml - Java

    swagger - 模块化: unbundling swagger-ui from swashbuckle