带有 OpenAPI 3.0.1 的 SwaggerEditor 不显示响应 base64 PNG 图像

问题描述

我正在使用 Python + Flask + Connexion + Swagger + OpenAPI

我有这个 OpenAPI 文件:

/swagger_server/swagger/swagger.yaml

openapi: 3.0.1
info:
  title: Testing Displaying PNG Image
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.0.0
servers:
- url: https://localhost:8080/v2
paths:
  /emoji/get:
    get:
      summary: Retrieve Emoji PNG
      operationId: get_emoji
      responses:
        "200":
          description: Emoji retrieved successfully
          content: 
            image/png:
              schema:
                type: string
                format: base64
      x-openapi-router-controller: swagger_server.controllers.emoji_controller

/swagger_server/controllers/emoji_controller.py

def get_emoji():
    return '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';

哪个 base64 对应于这个表情符号:

enter image description here

我的问题是图像没有显示在 Swagger UI 上,如下所示:

enter image description here

这里有响应和请求标头:

enter image description here

知道如何显示图像吗?

请注意,在 OpenAPI 规范中,我指定响应为 base64 图像,这正是我从控制器函数返回的内容。

这里有更多上下文信息:

enter image description here

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)