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

Ktor与Django跨端POST请求JSON键名命名规范适配求助

解决Ktor(Kotlin)与Django POST请求的键名适配问题

你可以通过Kotlinx Serialization的@SerialName注解单独指定字段对应的JSON键名,既遵循Kotlin的驼峰命名规范,又能让Django收到预期的下划线格式键名。

修改后的UserPostRequest数据类如下:

@Serializable
data class UserPostRequest(
    val username: String,
    val email: String,
    val password: String,
    @SerialName("password_check")
    val passwordCheck: String
)

说明

  • passwordCheck遵循Kotlin驼峰命名规范,解决IDE的下划线警告
  • @SerialName("password_check")指定该字段序列化为JSON时,键名会替换为password_check,完美匹配Django的期望格式

如果项目中有大量需要在驼峰与下划线命名间转换的字段,也可以全局配置Kotlinx Serialization的命名策略:

val json = Json {
    namingStrategy = JsonNamingStrategy.SnakeCase
}

这种配置会自动将所有驼峰字段转为下划线格式,适合批量处理场景。但如果只是个别字段需要适配,优先用@SerialName注解更灵活。

修改后重新发送请求,Django就能正确识别password_check字段,不会再返回"密码不匹配"的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 16:33:04