Swagger XML attribute and content definition

2020-02-14 06:25发布

问题:

I would like to describe the XML response payload of a RESTful interface with swagger. However, I struggle describing a particular XML tag in the swagger data model.

I can't get swagger ui to create an appropriate example XML tag in this form, with an attribute and content between the opening and closing XML tags:

<Person id="bar">foo</Person>

The documentation (here) only describes how to model a tag with sub tags (type: object) or a tag with content (type: string), but not both at the same time.

I tried this, which the swagger-editor accepts without any errors or warnings:

definitions:
  Person:
    type: string
    example: foo
    properties:
      id:
        type: string
        example: bar
        xml:
          attribute: true

but it will be rendered by swagger-ui to the following example:

<Person id="bar"></Person>

As you can see, no "foo" content in there.

Thanks in advance for any helpful hints!

回答1:

Unfortunately there's no way to represent that using the OpenAPI Specification 2.0.

This issue is being tracked here and could be addressed in future versions of the specification.