Spring-restdocs:如何制作参数、路径和响应字段代码块
Spring-restdocs: how to make parameters, paths and response fields code blocks
我正在使用 spring-restdocs 生成 API 文档,我希望将所有参数、路径和响应字段 JSON 路径打印为代码部分(反引号在 Asciidoc 中)在表内。
例如,JSON 路径 sprockets.[].widgets.[].contentType 在可变宽度字体中比在等宽字体中打印的 sprockets.[].widgets.[].contentType
更难阅读。
请求参数和路径参数也是如此 - 这些是应该以等宽字体打印的标记。
使用 Spring-restdocs 实现此目的的最简单方法是什么?
在此先感谢您的帮助。
G
我认为 REST Docs 应该默认执行此操作。我已经打开了一个将在 1.1 中修复的问题:https://github.com/spring-projects/spring-restdocs/issues/230。谢谢建议。
在此期间,您可以使用 custom snippet templates 做您想做的事。例如,要自定义请求字段路径的格式,您需要在 src/test/resources/org/springframework/restdocs/templates
中提供一个 request-fields.snippet
文件,如下所示:
|===
|Path|Type|Description
{{#fields}}
|`{{path}}`
|{{type}}
|{{description}}
{{/fields}}
|===
注意 {{path}}
周围的反引号。
您还可以使用 asciidoctor 格式化代码,例如 'm' 等宽:
m|{{path}}
您甚至可以更改列宽和对齐方式,例如,相对宽度为 4-4-2 的三列和第三列居中对齐:
[cols="2*4,^2"]
|===
|Parameter|Description|Optional
(我知道这不是你问的,但对于任何刚接触 asciidoc 的 spring-restdocs 用户来说,知道有很多简单的自定义选项可能会有所帮助)
我正在使用 spring-restdocs 生成 API 文档,我希望将所有参数、路径和响应字段 JSON 路径打印为代码部分(反引号在 Asciidoc 中)在表内。
例如,JSON 路径 sprockets.[].widgets.[].contentType 在可变宽度字体中比在等宽字体中打印的 sprockets.[].widgets.[].contentType
更难阅读。
请求参数和路径参数也是如此 - 这些是应该以等宽字体打印的标记。
使用 Spring-restdocs 实现此目的的最简单方法是什么?
在此先感谢您的帮助。
G
我认为 REST Docs 应该默认执行此操作。我已经打开了一个将在 1.1 中修复的问题:https://github.com/spring-projects/spring-restdocs/issues/230。谢谢建议。
在此期间,您可以使用 custom snippet templates 做您想做的事。例如,要自定义请求字段路径的格式,您需要在 src/test/resources/org/springframework/restdocs/templates
中提供一个 request-fields.snippet
文件,如下所示:
|===
|Path|Type|Description
{{#fields}}
|`{{path}}`
|{{type}}
|{{description}}
{{/fields}}
|===
注意 {{path}}
周围的反引号。
您还可以使用 asciidoctor 格式化代码,例如 'm' 等宽:
m|{{path}}
您甚至可以更改列宽和对齐方式,例如,相对宽度为 4-4-2 的三列和第三列居中对齐:
[cols="2*4,^2"]
|===
|Parameter|Description|Optional
(我知道这不是你问的,但对于任何刚接触 asciidoc 的 spring-restdocs 用户来说,知道有很多简单的自定义选项可能会有所帮助)