Spring REST 文档 - 由于输入结束,没有要映射的内容
Spring REST Docs - No content to map due to end-of-input
我有一个 springBoot 2.1。9.RELEASE 应用程序使用 Spring REST Docs。
我的 TestController 中有这个方法
@Test
public void createOK() throws Exception {
String content = ResourceUtils.getResourceFileAsString ("/new_hostel.json");
mockMvc.perform(post("/hostel")
.content(content)
.contentType(APPLICATION_JSON))
.andExpect(status().isOk())
.andDo(document("create-hostel",
preprocessRequest(prettyPrint()),
preprocessResponse(prettyPrint()),
links(halLinks(),
linkWithRel("ld:GetHostel").
description("Get Hostel"),
linkWithRel("curies").
description("Documentation")),
requestFields(
fieldWithPath("description").description("The description"),
fieldWithPath("name").description("The name"),
fieldWithPath("id").description("The id")
)
));
}
但是当我 运行 它时我有这个错误:
org.springframework.restdocs.snippet.ModelCreationException: com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
at [Source: (byte[])""; line: 1, column: 0]
at org.springframework.restdocs.hypermedia.LinksSnippet.createModel(LinksSnippet.java:127)
at org.springframework.restdocs.snippet.TemplatedSnippet.document(TemplatedSnippet.java:81)
at org.springframework.restdocs.generate.RestDocumentationGenerator.handle(RestDocumentationGenerator.java:201)
at org.springframework.restdocs.mockmvc.RestDocumentationResultHandler.handle(RestDocumentationResultHandler.java:55)
at org.springframework.test.web.servlet.MockMvc.andDo(MockMvc.java:200)
at com.bendiciones.buenas.noches.HostelControllerIT.createOK(HostelControllerIT.java:88)
链接片段记录响应中的超媒体链接。根据错误判断,您的控制器的响应为空,因此没有指向文档的链接。您应该更新您的测试以删除响应 POST
请求中的链接文档,或者将处理它的控制器方法更新为 return 包含一些链接的主体。
我有一个 springBoot 2.1。9.RELEASE 应用程序使用 Spring REST Docs。
我的 TestController 中有这个方法
@Test
public void createOK() throws Exception {
String content = ResourceUtils.getResourceFileAsString ("/new_hostel.json");
mockMvc.perform(post("/hostel")
.content(content)
.contentType(APPLICATION_JSON))
.andExpect(status().isOk())
.andDo(document("create-hostel",
preprocessRequest(prettyPrint()),
preprocessResponse(prettyPrint()),
links(halLinks(),
linkWithRel("ld:GetHostel").
description("Get Hostel"),
linkWithRel("curies").
description("Documentation")),
requestFields(
fieldWithPath("description").description("The description"),
fieldWithPath("name").description("The name"),
fieldWithPath("id").description("The id")
)
));
}
但是当我 运行 它时我有这个错误:
org.springframework.restdocs.snippet.ModelCreationException: com.fasterxml.jackson.databind.exc.MismatchedInputException: No content to map due to end-of-input
at [Source: (byte[])""; line: 1, column: 0]
at org.springframework.restdocs.hypermedia.LinksSnippet.createModel(LinksSnippet.java:127)
at org.springframework.restdocs.snippet.TemplatedSnippet.document(TemplatedSnippet.java:81)
at org.springframework.restdocs.generate.RestDocumentationGenerator.handle(RestDocumentationGenerator.java:201)
at org.springframework.restdocs.mockmvc.RestDocumentationResultHandler.handle(RestDocumentationResultHandler.java:55)
at org.springframework.test.web.servlet.MockMvc.andDo(MockMvc.java:200)
at com.bendiciones.buenas.noches.HostelControllerIT.createOK(HostelControllerIT.java:88)
链接片段记录响应中的超媒体链接。根据错误判断,您的控制器的响应为空,因此没有指向文档的链接。您应该更新您的测试以删除响应 POST
请求中的链接文档,或者将处理它的控制器方法更新为 return 包含一些链接的主体。