我遇到了Spring AutoRest Docs的问题。似乎源于此代码
.alwaysDo<DefaultMockMvcBuilder>(JacksonResultHandlers.prepareJackson(objectMapper))
完整配置:
mockMvc = MockMvcBuilders
.webAppContextSetup(webApplicationContext)
.alwaysDo<DefaultMockMvcBuilder>(JacksonResultHandlers.prepareJackson(objectMapper))
.alwaysDo<DefaultMockMvcBuilder>(document("{class-name}/{method-name}",
Preprocessors.preprocessRequest(Preprocessors.prettyPrint()),
Preprocessors.preprocessResponse(Preprocessors.prettyPrint())))
.apply<DefaultMockMvcBuilder>(documentationConfiguration(this.restDocumentation)
.uris()
.withScheme("https")
.withHost("localhost")
.and().snippets()
.withDefaults(CliDocumentation.curlRequest(),
HttpDocumentation.httpRequest(),
HttpDocumentation.httpResponse(),
AutoDocumentation.requestFields()
.failOnUndocumentedFields(true),
AutoDocumentation.responseFields()
.failOnUndocumentedFields(true),
AutoDocumentation.pathParameters(),
AutoDocumentation.requestParameters(),
AutoDocumentation.description(),
AutoDocumentation.methodAndPath(),
AutoDocumentation.section(),
AutoDocumentation.links()))
.build()
我对杰克逊做了一些自定义,而autorest似乎不喜欢这样。当我输入objectMapper
时,会收到以下警告:
No Javadoc found for class java.lang.Object
No Javadoc found for class java.io.Serializable
No description found for constraint com.domain.CLASS: Can't find resource for bundle java.util.PropertyResourceBundle, key com.domain.CLASS.description
我尝试注入其他方法来获取对象映射器,包括
MappingJackson2HttpMessageConverter
ObjectMapperResolver
我也尝试过启动一个新的Spring Boot应用程序,没有遇到任何错误。但是,如果删除prepareJackson
,则不会再显示任何警告,则自动生成的文档中将没有数据。
我已经在这个问题上停留了很长时间,并且不确定如何解决它。任何指导将不胜感激。
答案 0 :(得分:0)
对此进行快速更新。
Florian对此发表了GitHub问题,所有问题均已在2.0.6中修复。因此,只要使用2.0.6,就可以了。
请参见https://github.com/ScaCap/spring-auto-restdocs/issues/336
感谢Florian和Auto Rest Doc团队!