java - Spring Rest Docs 片段模板被忽略

标签 java spring spring-boot asciidoctor spring-restdocs

我正在尝试能够为 Spring Rest Docs 文档创建自定义代码段模板。我一直在关注 reference guide

我遇到的第一个问题是在 IntelliJ 中,按照导游。 IntelliJ 将其注册为一个 jShell 片段文件,乍一看与 AsciiDoc 片段不同。所以我进入 Settings -> Editor -> File Types 并将 jShell Snippet 从 *.snippet 更改为 *.snippetOld。然后我创建了一个名为 Snippet 的文件类型,并将其模式设置为 *.snippet。这现在解决了片段模板被读取为 jShell 文件的问题。因此,我创建的 .snippet 模板不再出现编译/验证错误。

但是现在,当我在删除以前存在的 adoc 文件后运行我的 mockMvc 测试时。应该使用我的自定义模板的 path-perameters.adoc 文件,如果不使用 default template , 现在根本不生成。

在我的 mockMvc 测试中,我有以下内容

//Given
RestDocumentationResultHandler document = makeDocument("name-of-method");
document.document(
    pathParameters(//do path parameters)
    requestParameters(
        parameterWithName("Month").description("The month requested").attributes(
        key("type").value("integer"), key("constraints").value("more than 0 & less than 13.")
        ),
        parameterWithName("Year").description("The year requested").attributes(
            key("type").value("integer"), key("constraints").value("more than 1970 and less than current year")
        )
    ),
    responseField(//Do response fields)
);

// When
mvc.perform(get(REQUEST_PATH, USERID)
          .contentType(MediaType.APPLICATION_JSON)
          .param("month", "8")
          .param("year", "2018"))

          // Then
          .andExpect(status().isOk())
          .andDo(document);

我的代码片段模板如下:

   |===
   |Parameter|Description|Type|Constraints

   |{{parameter}}
   |{{description}}
   |{{type}}
   |{{constraints}}

有人可以指出我做错了什么/与引用指南不同,以及如何修复它以使我的模板正常工作吗?

最佳答案

我怀疑您没有得到输出的原因是您混淆了 path-parametersrequest-parameters。您的文档配置指定了请求参数,但您自定义了路径参数模板

以下是代码段模板的完整列表:

  • curl-request.snippet
  • http-request.snippet
  • http-response.snippet
  • httpie-request.snippet
  • 链接.snippet
  • 路径参数.snippet
  • 请求正文.snippet
  • 请求字段.snippet
  • 请求 header .snippet
  • 请求参数.snippet
  • 请求部分正文.snippet
  • 请求部分字段.snippet
  • 请求部分.snippet
  • response-body.snippet
  • response-fields.snippet
  • response-headers.snippet

来源:

关于java - Spring Rest Docs 片段模板被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52093601/

相关文章:

glassfish 3.x 上的 Spring 启动

spring - 在 Spring 中使用 ServletUriComponentsBuilder 构建没有端口号的 Url

spring-boot - cloud-foundry:ERR 1 秒后超时:健康检查从未通过

spring - 更改 Spring 输入验证语言

java - Amazon S3 连接返回错误请求

Java同步问题

java - 找到两个 3D 多边形的交点

java - 将所有字符转换为 HTML 实体

java - Hessian 有暂停吗?

java - Graal VM 构建错误 : java. lang.NullPointerException:无法调用 "java.util.Set.iterator()",因为 "triggers"为 null