使用 Asciidoctor

本节描述了使用 Asciidoctor 的方面,这些方面与 Spring REST Docs 特别相关。spring-doc.cadn.net.cn

Asciidoc 是文档格式。 Asciidoctor 是从 Asciidoc 文件(以.adoc).

包括 Snippets

本节介绍如何包含 Asciidoc 片段。spring-doc.cadn.net.cn

为一个作包含多个代码段

您可以使用名为operation导入为特定作生成的全部或部分代码段。 它通过包括spring-restdocs-asciidoctor在项目的 build configuration 中。spring-doc.cadn.net.cn

宏的目标是作的名称。 在最简单的形式中,您可以使用宏来包含作的所有代码片段,如以下示例所示:spring-doc.cadn.net.cn

operation::index[]

您可以使用 operation 宏还支持snippets属性。 这snippets属性来选择应包含的代码段。 该属性的值是一个逗号分隔的列表。 列表中的每个条目都应该是一个代码段文件的名称(减去.adocsuffix) 来包含。 例如,只能包含 curl、HTTP 请求和 HTTP 响应代码段,如以下示例所示:spring-doc.cadn.net.cn

operation::index[snippets='curl-request,http-request,http-response']

前面的示例等效于以下内容:spring-doc.cadn.net.cn

[[example_curl_request]]
== Curl request

include::{snippets}/index/curl-request.adoc[]

[[example_http_request]]
== HTTP request

include::{snippets}/index/http-request.adoc[]

[[example_http_response]]
== HTTP response

include::{snippets}/index/http-response.adoc[]
章节标题

对于使用operationmacro 中,将创建具有标题的部分。 为以下内置代码片段提供了默认标题:spring-doc.cadn.net.cn

片段 标题

curl-requestspring-doc.cadn.net.cn

curl 请求spring-doc.cadn.net.cn

http-requestspring-doc.cadn.net.cn

HTTP 请求spring-doc.cadn.net.cn

http-responsespring-doc.cadn.net.cn

HTTP 响应spring-doc.cadn.net.cn

httpie-requestspring-doc.cadn.net.cn

HTTPie 请求spring-doc.cadn.net.cn

linksspring-doc.cadn.net.cn

链接spring-doc.cadn.net.cn

request-bodyspring-doc.cadn.net.cn

请求正文spring-doc.cadn.net.cn

request-fieldsspring-doc.cadn.net.cn

请求字段spring-doc.cadn.net.cn

response-bodyspring-doc.cadn.net.cn

响应正文spring-doc.cadn.net.cn

response-fieldsspring-doc.cadn.net.cn

响应字段spring-doc.cadn.net.cn

对于上表中未列出的代码段,通过将字符替换为空格并将第一个字母大写来生成默认标题。 例如,名为-custom-snippet will be“自定义代码段”。spring-doc.cadn.net.cn

您可以使用 document 属性自定义默认标题。 属性的名称应为operation-{snippet}-title. 例如,要自定义curl-requestsnippet 设置为 “Example request”,则可以使用以下属性:spring-doc.cadn.net.cn

:operation-curl-request-title: Example request

包括单个代码段

include 宏用于在文档中包含单个代码段。 您可以使用snippets属性(由spring-restdocs-asciidoctor配置)以引用 snippets 输出目录。 以下示例显示了如何执行此作:spring-doc.cadn.net.cn

include::{snippets}/index/curl-request.adoc[]

自定义表

许多代码段在其默认配置中包含一个表。 可以自定义表的外观,方法是在包含代码段时提供一些其他配置,或者使用自定义代码段模板。spring-doc.cadn.net.cn

设置列格式

Asciidoctor 对格式化表格的列有丰富的支持。 如下例所示,您可以使用cols属性:spring-doc.cadn.net.cn

[cols="1,3"] (1)
include::{snippets}/index/links.adoc[]
1 表格的宽度被拆分为两列,第二列的宽度是第一列的三倍。

配置标题

您可以使用前缀为.. 以下示例显示了如何执行此作:spring-doc.cadn.net.cn

.Links (1)
include::{snippets}/index/links.adoc[]
1 表的标题将为Links.

避免表格格式问题

Asciidoctor 使用|字符分隔表中的单元格。 如果您希望|以显示在单元格的内容中。 您可以通过转义|替换为反斜杠 — 换句话说,通过使用\|而不是|.spring-doc.cadn.net.cn

所有默认的 Asciidoctor 代码段模板都使用名为tableCellContent. 如果您编写自己的自定义模板,则可能需要使用此 lamba。 以下示例演示如何转义|字符,该字符包含在包含description属性:spring-doc.cadn.net.cn

| {{#tableCellContent}}{{description}}{{/tableCellContent}}

延伸阅读

有关自定义表的更多信息,请参阅 Asciidoctor 用户手册的 Tables 部分spring-doc.cadn.net.cn