使用自定义 Jackson ObjectMapper 找不到 类 的描述
No description found for classes with custom Jackson ObjectMapper
我在使用 Spring AutoRest 文档时遇到问题。好像是源于这段代码
.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()
我对 jackson 进行了一些定制,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 引导应用程序并且没有遇到任何错误。如果删除 prepareJackson
则不再有警告,但是,自动生成的文档中没有数据。
我被这个问题困了好一阵子了,不知道怎么解决。任何指导将不胜感激。
对此进行快速更新。
Florian 提出了一个 GitHub 问题,所有内容都已在 2.0.6 中修复。所以只要使用 2.0.6 就可以了。
见https://github.com/ScaCap/spring-auto-restdocs/issues/336
谢谢 Florian 和 Auto Rest Doc 团队!
我在使用 Spring AutoRest 文档时遇到问题。好像是源于这段代码
.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()
我对 jackson 进行了一些定制,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 引导应用程序并且没有遇到任何错误。如果删除 prepareJackson
则不再有警告,但是,自动生成的文档中没有数据。
我被这个问题困了好一阵子了,不知道怎么解决。任何指导将不胜感激。
对此进行快速更新。
Florian 提出了一个 GitHub 问题,所有内容都已在 2.0.6 中修复。所以只要使用 2.0.6 就可以了。
见https://github.com/ScaCap/spring-auto-restdocs/issues/336
谢谢 Florian 和 Auto Rest Doc 团队!