我使用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' ...我可以等待:) –