0

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

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

我像在 JSON 中那样尝试过\ufeff,但它没有用。

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


4

1 回答 1

1

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

      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"

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

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

于 2021-08-27T12:15:14.347 回答