Spring Rest Docs如何在我的代码段或.adoc文件中包含应用程序名称

时间:2015-12-18 16:47:41

标签: spring-mvc spring-boot asciidoctor spring-restdocs

我正在尝试将Spring Rest Docs包含在Spring Boot应用程序中,并设法生成一个简单的asciidoc HTML文件,显示应用程序根目录'/'的请求路径。问题是代码段中的请求URL不包含应用程序名称?例如,我的应用程序被称为'myservice',所以我希望将根'/'请求路径记录为

  

$ curl'http://localhost:8080/myservice/'

相反,我只能生成

  

$ curl'http://localhost:8080/'

我是Spring Rest Docs的新手,无法确定如何在文档化的URL中包含应用程序名称。它是在asccidoctor的maven插件中设置的,在测试类的@before或@Test方法中,还是在作为'include'标记的一部分的.adoc文件中设置?

2 个答案:

答案 0 :(得分:3)

这是mentioned in the documentation

  

要配置请求的上下文路径,请使用contextPath上的MockHttpServletRequestBuilder方法。

在您的示例中,您的应用程序称为myservice,并且您正在请求/。您的MockMvc调用应该如下所示:

this.mockMvc.perform(get("/myservice/").contextPath("/myservice"))
        .andExpect(status().isOk())
        .andDo(document("index"));

答案 1 :(得分:1)