so-*_*ude 15 java spring spring-mvc jackson spring-boot
杰克逊忽略了spring.jackson.property-naming-strategy = SNAKE_CASE.我正在使用springBootVersion 1.4.2.RELEASE.在我的application.properties文件中,我添加了
spring.jackson.property命名策略= SNAKE_CASE
但杰克逊并不尊重这个属性,我的REST响应仍然是camelCase.有趣的是,这个注释工作正常
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
有了这个注释,我得到了snake_case响应.但我不想对每个响应类进行注释,这有点烦人.
我也试过使用完全限定的类名,
spring.jackson.property命名策略= com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy
这也没用
so-*_*ude 14
我@EnableWebMvc在我的应用程序(face-palm!)中的一个类(ExceptionHandler)中有注释.
但是,根据这个问题,
如果您有@EnableWebMvc注释,则会禁用Spring MVC的自动配置,包括配置其消息转换器以自定义Jackson的序列化.
当您使用@EnableWebMvc时,这是预期的行为,通过这样做,您告诉Spring Boot您想要控制Spring MVC的配置.这包括配置其HTTP消息转换器以满足您的需求(de)序列化JSON.
如果要覆盖Jackson配置,可以使用spring.jackson.*属性,或者,如果需要更多控制,则声明自己的Jackson2ObjectMapperBuilder bean.
删除@EnableWebMvc注释后,此属性按预期工作.
| 归档时间: |
|
| 查看次数: |
7911 次 |
| 最近记录: |