You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Micronaut 4.1.6中@Serdeable注解的JSON命名策略配置问题

Micronaut 4.1.6 序列化/反序列化蛇形命名配置问题解决

问题根源

Micronaut 4.x 版本默认采用 Micronaut Serde 替代了旧版本的Jackson作为序列化/反序列化框架,因此原Jackson的jackson: property-naming-strategy: SNAKE_CASE配置不再生效。


解决方案一:全局配置蛇形命名(推荐)

直接在application.yml中配置Serde的全局命名策略,所有被@Serdeable标记的类都会自动应用蛇形命名:

micronaut:
  serde:
    naming-strategy: snake-case

解决方案二:局部类单独指定命名策略

如果只需要给特定类配置蛇形命名,修正@Serdeable的参数写法即可——注解参数要求传入类字面量(T::class),正确写法如下:

import io.micronaut.serde.annotation.Serdeable
import io.micronaut.serde.config.naming.PropertyNamingStrategies

@Serdeable(naming = PropertyNamingStrategies.SnakeCase::class)
data class User(
    val userId: Long,
    val userName: String
)

该配置仅对当前标注的类生效。


内容的提问来源于stack exchange,提问作者Ryuzaki L

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 14:44:57