我使用Spring Boot 2.0.0.M1
(因此Spring 5.0.0.RC1
)。我试图将其配置为使用PropertyNamingStrategy.SnakeCaseStrategy.SNAKE_CASE
,但目前为止我还没有工作。配置Jackson在Spring Boot 2.0.0中使用SNAKE_CASE“全局”2.0.0.M1
我已经试过:
的
application.yml
文件有:spring: jackson: property-naming-strategy: SNAKE_CASE
配置
Jackson2ObjectMapperBuilder
豆:@Bean @Primary open fun jacksonBuilder(): Jackson2ObjectMapperBuilder { val jacksonMapperBuilder = Jackson2ObjectMapperBuilder() .failOnUnknownProperties(false) .modules(JavaTimeModule(), KotlinModule()) .propertyNamingStrategy(PropertyNamingStrategy.SnakeCaseStrategy.SNAKE_CASE) logger.info { "Jackson2ObjectMapperBuilder configured successfully..." } return jacksonMapperBuilder }
配置
ObjectMapper
豆:@Bean @Primary open fun objectMapper(): ObjectMapper { val objectMapper = ObjectMapper() objectMapper.registerModule(JavaTimeModule()) objectMapper.registerModule(KotlinModule()) objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SnakeCaseStrategy.SNAKE_CASE) logger.info { "ObjectMapper configured successfully..." } return objectMapper }
我发现,使其通过注释与@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy::class)
每类工作的唯一办法......但这不是我的情况的解决方案。
还有其他的选择吗?
这是dependencies
“节” 在我build.gradle.kts
文件:
dependencies {
compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
compile("com.fasterxml.jackson.module:jackson-module-kotlin")
compile("io.github.microutils:kotlin-logging:1.4.4")
//compile("io.projectreactor:reactor-kotlin-extensions")
compile("org.springframework.boot:spring-boot-starter-actuator")
compile("org.springframework.boot:spring-boot-starter-data-mongodb-reactive")
compile("org.springframework.boot:spring-boot-starter-webflux")
compile(kotlin("stdlib"))
testCompile("io.projectreactor.addons:reactor-test")
testCompile("org.springframework.boot:spring-boot-starter-test")
}
UPDATE:
这确实是固定在M3
;如果您需要SnakeCaseStrategy.SNAKE_CASE
,则application.yml
中的设置已足够。
如果我使用2.0.0.M1版本的Spring引导和'spring-boot-starter-web'设置了一个简单项目,选项1对我来说工作得很好。你确定你不是自己创建一个Jackson'ObjectMapper' bean吗? – g00glen00b
WebFlux模块看起来像一个“问题”;它的目标是'M3' ...我可以等待:) –