4

我使用 Spring RestDoc 和 AsciiDoc 来描述我的 rest api。RestDoc 根据是否有描述的请求参数/响应字段等生成不同的文件。我希望有一个模板有条件地包括存在的任何文件。

像这样的东西:

Request:

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

Response:
include::{reqresPath}/http-response.adoc[]

Parameters:
ifeval::[{{reqresPath}/request-parameters.adoc}.exists]
  include::{reqresPath}/request-parameters.adoc[]
endif::[]
ifeval::[{{reqresPath}/request-parameters.adoc}.exists]
  include::{reqresPath}/request-parameters.adoc[]
endif::[]

或者至少在文件丢失的情况下排除警告。但我不知道如何压制这些。

4

2 回答 2

1

到今天为止, where没有可用的操作符ifeval可以用来检查文件是否存在。

我会去的方式是为 Asciidoctor 编写一个扩展,这也可以通过使用 Java 来完成。如果您的项目足够大,我建议您选择此解决方案。

于 2021-07-08T12:34:01.173 回答
0

最极端的方法是制作一个自定义的 TemplatedSnippet,它会生成一个要包含的空片段......

我希望有更好的方法来做到这一点。

编辑:看看http://asciidoctor.org/docs/user-manual/#by-tagged-regions

于 2017-01-24T12:51:17.517 回答