当前位置: 首页 > news >正文

Unable to create converter for xxx.NetworkResponse<Auth> for method AuthService

BUG解决要点

  • @POST + @Body必须写

  • NetworkResponse<T>必须是@Serializable data class

  • Auth必须@Serializable

  • 不要用 sealed / Any

哪怕 Auth 是@Serializable,只要NetworkResponse有下面任意一条,就一定失败:

  • ❌ 没有@Serializable
  • ❌ 是sealed class
  • ❌ 是open class
  • ❌ 有Any/Map<String, Any>
  • ❌ 泛型T没有限定
  • ❌ 有自定义构造逻辑

Retrofit 会在创建接口代理时直接抛这个异常。

gradle(非常关键,很多人漏)

js

体验AI代码助手

代码解读

复制代码

dependencies { implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3") implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:0.8.0") }

js

体验AI代码助手

代码解读

复制代码

plugins { id("org.jetbrains.kotlin.plugin.serialization") }

代码示例

如果是Body的JSON请求,必须添加**@Body**

kotlin

体验AI代码助手

代码解读

复制代码

interface AuthService { @POST("login/password") suspend fun loginByPassword( @Body params: Map<String, String> ): NetworkResponse<Auth> }

kotlin

体验AI代码助手

代码解读

复制代码

import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable @Serializable data class NetworkResponse<T>( @SerialName("code") val code: Int, @SerialName("message") val message: String, @SerialName("data") val data: T? = null )

kotlin

体验AI代码助手

代码解读

复制代码

import kotlinx.serialization.Serializable @Serializable data class Auth( val token: String, val refreshToken: String, val expire: Long )

根因是kotlinx.serialization 无法为 NetworkResponse 生成 Serializer

原文:https://juejin.cn/post/7584758215701332006

http://www.gsyq.cn/news/122555.html

相关文章:

  • 3、数据科学命令行入门指南
  • 【打靶日记】HackMyVm 之 Light
  • 失业了一年多后, 有了一个特殊的契机, 远程工作到现在一个月了, 有很多感触想聊一下.在家工作有想象中那么爽吗?爽, 但一些情况与想象中的并不一样.不用上下班真的节约时间吗?真的, 而且节约的
  • 4大核心优势带你玩转PrusaSlicer:专业3D打印切片完全指南
  • 1218 年全国 IX 卷语文《追忆》真题解析
  • NSMusicS容器化部署终极指南:从零构建个人音乐流媒体平台
  • 【金融合规 Agent 审计日志全解析】:掌握7大核心日志字段与合规审计实战技巧
  • 5、实用脚本与工具的深入解析
  • Fold Craft Launcher:移动端Minecraft启动器终极指南
  • 终极编程字体选择指南:为什么Mona Sans让程序员效率翻倍?
  • Unity PSD导入工具终极指南:快速将Photoshop设计无缝转换为Unity资源
  • MathLive:让数学公式编辑像打字一样简单的终极解决方案
  • 29、ImageMagick:强大的图形文件处理工具
  • 好用的PC耐力板机构
  • 基于PI+重复控制的APF有源电力滤波器谐波抑制策略,实现电流环控制及低于1%的THD值,高效...
  • 跨境电商深水区:价值增长新范式,重构出海增长逻辑
  • SikuBERT在古典中文信息处理中的应用实践
  • 深入探索ET框架:委托驱动的UI事件系统如何重塑Unity开发体验
  • 新品广告制胜法则:亚马逊破局增长与品牌沉淀的科学路径
  • Mermaid数据可视化:让图表绘制像写文档一样简单![特殊字符]
  • 2025年12月GEO优化,GEO系统,GEO技术公司权威推荐:模型先进性与ROI数据深度解析 - 品牌鉴赏师
  • 2025年全自动玻片扫描仪厂家权威推荐榜单:DNA快速合成仪/引物快速合成仪/玻片扫描仪源头厂家精选 - 品牌推荐官
  • 2025年AI模型产品经理转型指南:零基础入门,少走两年弯路,快速成为AI产品经理高手!
  • PrusaSlicer专业切片软件完全指南
  • 终极指南:如何将NTFS无缝转换为Btrfs文件系统
  • 东铜箔公司实力推荐:新能源应用+技术创新(2025采购参考)华 - 品牌排行榜
  • Android RTMP客户端终极指南:轻量级流媒体解决方案
  • 揭秘AppFlowy:多设备实时同步技术的深度解析
  • 2025年12月聚丙烯粗纤维,仿钢纤维,纤维厂家推荐:行业测评与选择指南 - 品牌鉴赏师
  • AppleALC 音频驱动:Hackintosh 用户必备的完整声卡兼容解决方案