如何使用Spring OpenAPI 3.0忽略Swagger请求字段?

问题描述

当scmOrg被定义为外键时,我们具有以下 Token 模式。

{
  id        integer($int64)
  scmOrg    ScmOrg{...}
  type      string
  rawToken  string
}

打开Swagger控制台时,它将构建示例输入,如下所示:

{
  "id": 0,"scmOrg": {
    "id": 0,"scm": {
      "id": 0,"name": "string","baseUrl": "string","clientId": "string","clientSecret": "string"
    },"team": "string"
  },"type": "string","rawToken": "string"
}

只能为现有的 scmOrg 实体添加新令牌,所以我真正想要的是像这样更加僵硬的东西:

{
  "id": 0,"scmOrg": {
    "id": 0
  },"rawToken": "string"
}

Swagger有可能吗?

解决方法

AFAIK无法实现这一目标。实际上,您可以编辑模型以设置@ApiModelProperty(hidden = true)。但是,我反对这样做,此外,您下次对模型所做的任何操作都会在下次重新生成时被覆盖。检查此链接,它有点旧,但似乎挥舞背后的家伙似乎在他们的路线图中没有。 https://community.smartbear.com/t5/Swagger-Open-Source-Tools/How-to-hide-Model-Information/m-p/183188#M347