如何在 OpenAPI3-YAML 规范中编写 BOM 字符

How write the BOM-Character in an OpenAPI3-YAML Specification

在我的 API 的 OpenApi3 规范中,我有一个端点返回 CSV 数据。没有我的 Dredd-Test 失败,尽管示例和返回的完全相同。我假设问题是我的 API returns CSV 带有 BOM 字符。

现在我不知道如何在 OpenAPI3-YAML 中正确编码字符。谁能帮帮我?

我尝试了 \ufeff,就像我在 JSON 中所做的那样,但它没有用。

      responses:
        "200":
          description: ffffoo
          content:
            text/csv;charset=UTF-8:
              schema:
                type: string
              example: |-
                a;b;c
                1;2;3
                4;5;5


文字块标量不处理转义序列,为此您需要一个双引号标量:

      responses:
        "200":
          description: ffffoo
          content:
            text/csv;charset=UTF-8:
              schema:
                type: string
              example: "\ufeff\
                a;b;c\n\
                1;2;3\n\
                4;5;5"

转义换行符会将换行符从内容中排除。双引号标量中未转义的换行符将折叠成不需要的 space。 \n\ 基本上用适当的换行符替换了从换行符生成的 space。

您当然可以取消源代码中的换行符,但我认为这更具可读性。