首页 > 解决方案 > 我可以在 OpenAPI 规范中添加文件内容示例吗?

问题描述

我的服务提供 XML 文件的上传。OpenApi 规范没有指定模式。我想提供一个示例输入。我试试这个:

/foo:
    post:      
      requestBody:
        content: 
          application/xml:
            schema:
              type: string
              format: binary
              example:
                  externalValue: 'https://www.w3schools.com/xml/note.xml'

然而,swagger-ui 产生了无用的:

<!-- XML example cannot be generated; root element name is undefined -->

是否可以从外部文件中指定示例?

标签: xmlswagger-uiopenapi

解决方案


这取决于您使用的 OpenAPI 版本。

开放API 3.1

externalValue可以是任何有效的 UR I。这包括相对参考。请参阅3.1 文档

开放API 3.0

externalValue必须是有效的 UR L。它不能是相对文件路径。请参阅3.0 文档

将您的值更改为 xml 文件的托管位置。


swagger-ui 错误告诉您您没有使用命名元素。尝试提供一个名称。(请注意,该工具存在错误,并且不能正确支持所有有效的 OpenAPI 设计。例如,这个相关的错误。)

examples:
  exampleName:
    summary: A sample object
    externalValue: 'https://www.w3schools.com/xml/note.xml'

推荐阅读