FrV*_*aBe 24 java spring-restdocs
当使用pathParameters
记录URI路径参数,如下面
@Test
public void documentGetRouteById() throws Exception {
this.mockMvc.perform(get("/route/{id}", "FooBar")).andExpect(status().isOk())
.andDo(document("api-getRouteById",
pathParameters(parameterWithName("id").description("die Routen ID"))));
}
Run Code Online (Sandbox Code Playgroud)
我得到以下激励
java.lang.IllegalArgumentException: urlTemplate not found. Did you use RestDocumentationRequestBuilders to build the request?
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.restdocs.request.PathParametersSnippet.extractUrlTemplate(PathParametersSnippet.java:95)
at org.springframework.restdocs.request.PathParametersSnippet.extractActualParameters(PathParametersSnippet.java:82)
at org.springframework.restdocs.request.AbstractParametersSnippet.verifyParameterDescriptors(AbstractParametersSnippet.java:77)
at org.springframework.restdocs.request.AbstractParametersSnippet.createModel(AbstractParametersSnippet.java:65)
at org.springframework.restdocs.request.PathParametersSnippet.createModel(PathParametersSnippet.java:67)
at org.springframework.restdocs.snippet.TemplatedSnippet.document(TemplatedSnippet.java:64)
at org.springframework.restdocs.mockmvc.RestDocumentationResultHandler.handle(RestDocumentationResultHandler.java:101)
at org.springframework.test.web.servlet.MockMvc$1.andDo(MockMvc.java:158)
Run Code Online (Sandbox Code Playgroud)
我敢肯定,我做了测试设置类似解释在这里.
我可能做错了什么?
(Spring REST docs版本是1.0.0.BUILD-SNAPSHOT)
And*_*son 45
异常消息试图指出您正确的方向:
找不到urlTemplate.您是否使用RestDocumentationRequestBuilders来构建请求?
您需要使用RestDocumentationRequestBuilders
以便Spring REST Docs可以捕获URL并从中提取参数.这在文档中提到它所说的:
要使路径参数可用于文档,必须使用RestDocumentationRequestBuilders而不是MockMvcRequestBuilders上的方法之一构建请求.
MockMvcRequestBuilders.get
用一个替换静态导入RestDocumentationRequestBuilders.get
应解决问题.