У меня возникают трудности при указании примера XML для ответа в OpenAPI 3 - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть файл JSON для OpenAPI 3, который содержит следующее:

            "trait_hasProjectResponse_200": {
                "description": "",
                "content": {
                    "application/xml": {
                        "example": {
                            "value" : "<project><foo>1</foo><bar>2</bar></project>"
                        }
                    }
                }
            },

Это приводит к следующему отображению на текущем интерфейсе swagger-ui:

enter image description here

Как мне указать пример XML для параметра или ответа в спецификации OpenAPI 3?Я просмотрел документацию, и она, кажется, самая большая на JSON.Что мне нужно сделать, чтобы мои выходные данные генерировали файл JSON OpenAPI 3.

Я также пытался использовать externalValue, и у меня возникли аналогичные трудности.

1 Ответ

0 голосов
/ 01 марта 2019

Удалите ключ value из example (value используется только с несколькими examples).

"example": "<project><foo>1</foo><bar>2</bar></project>"

В качестве альтернативы, вы можете определить schema для ответа, и Swagger UI сгенерирует примеры на основе schema.В вашем примере схема представляет собой объект project, который содержит массив foo.Вы можете указать [1, 2] в качестве примера значений для массива foo:

  "components": {
    "responses": {
      "trait_hasProjectResponse_200": {
        "description": "",
        "content": {
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/project"
            }
          }
        }
      }
    },
    "schemas": {
      "project": {
        "type": "object",
        "properties": {
          "foo": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "xml": {
              "wrapped": false
            },
            "example": [1, 2]
          }
        }
      }
    }
  }

Это даст вам:

XML response example generated by Swagger UI based on the response schema

...