Как игнорировать поля запроса Swagger с помощью Spring OpenAPI 3.0?

У нас есть следующая схема Token, а scmOrg определяется как внешний ключ.

{
  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"
    },
    "name": "string",
    "team": "string"
  },
  "type": "string",
  "rawToken": "string"
}

Новый токен можно добавить только для существующего объекта scmOrg, поэтому я действительно хочу, чтобы он был чем-то более прямолинейным, например:

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

Возможно ли это со Swagger?


person nimrod    schedule 29.10.2020    source источник


Ответы (1)


AFAIK нет никакого способа достичь этого. На самом деле вы можете редактировать свои модели, чтобы установить @ApiModelProperty(hidden = true). Но я против этого, и, кроме того, все, что вы делаете с моделью, будет перезаписано при следующей ее регенерации. Проверьте эту ссылку, она немного устарела, но кажется, что у парней, стоящих за чванством, нет этого в их дорожной карте. https://community.smartbear.com/t5/Swagger-Open-Source-Tools/How-to-hide-Model-Information/m-p/183188#M347

person Aman    schedule 29.10.2020