2015-10-01 13 views
11

私は、次のexcpetionpathParametersドキュメント例外(urlTemplate見つからない)

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) 

を取得

@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")))); 
} 

以下のようなURIのパスパラメータを文書化するpathParametersを使用している場合、私はテストのセットアップをしたかなり確信しています説明したようなhere

おそらく私は間違っていましたか?

答えて

27

例外メッセージが正しい方向にあなたを指すようにしようとしている(春RESTドキュメントのバージョンは1.0.0.BUILD-SNAPSHOTがある):

urlTemplateが見つかりません。リクエストを作成するためにRestDocumentationRequestBuildersを使用しましたか?

を使用する必要があります。これにより、Spring REST DocsがURLを取得し、そこからパラメータを抽出できるようになります。

ドキュメントのパスパラメータが利用できるようにするには、要求がRestDocumentationRequestBuildersはなくMockMvcRequestBuilders上のいずれかの方法を使用して構築する必要があります。これは、それが言うmentioned in the documentationです。

RestDocumentationRequestBuilders.getのためのものとMockMvcRequestBuilders.getのあなたの静的インポートを交換すると、問題を解決する必要があります。

+0

あなたはそれがすべて書き留められていると言いますか?あなたが正しい!十分に文書化されたモジュール。問題はもう一度モニターの前にありました。 – FrVaBe

関連する問題