OpenAPI YAML 描述中的 |、> 和 >- 有什么区别?

What's the difference between |, > and >- in OpenAPI YAML descriptions?

我正在查看 OpenAPI 和 description 标记。这些标签之间有什么区别?它们都支持多行,但还有什么?

description: |
description: >
description: >-

description 不是 YAML“标签”,它只是您正在编辑的 YAML 文件中的一个 field/property,例如 OpenAPI 或 Swagger 文档。

YAML 规范在此处描述了不同的文本折叠样式:https://yaml.org/spec/1.2/spec.html#id2793652

乍一看很难理解,所以这个网站让事情变得容易多了,并且有互动的例子:https://yaml-multiline.info/

|>>- 是一些 YAML block style 指标。它们用于将长字符串值分成多行并格式化 multi-paragraphs Markdown 字符串。您可以在此处找到更多信息:

在 OpenAPI 上下文中,在描述中使用 >| 会影响生成的 Markdown 渲染。

>(折叠式)

这会用空格替换单个新行,但会在 YAML 值的末尾添加一个新行。要在值中有文字新行,请在行之间添加一个空行。要开始一个新的 Markdown 段落,请在段落之间添加 两个 空行。

例如:

description: >
  Quick
  brown fox

  jumps over a lazy dog.


  And this is a new paragraph.

这意味着 description 值为:

使用 Markdown 渲染器处理后变为:

<p>Quick brown fox<br/>
jumps over a lazy dog.</p>

<p>And this is a new paragraph.</p>

>-(带条块咬合指示器的折叠样式)

> 相同,但 YAML 值末尾没有新行。

Markdown 渲染器不关心尾随的新行,因此 >>- 样式呈现完全相同。

|(文字样式)

YAML 值中的新行保持原样。例如:

description: >
  Quick
  brown fox

  jumps over a lazy dog.


  And this is a new paragraph.

这意味着 description 值为:

将呈现为

<p>Quick<br>
brown fox</p>

<p>jumps over a lazy dog.</p>

<p>And this is a new paragraph.</p>