news 2026/4/16 5:40:00

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 1:14:34

告别手动维护:OpenMetadata让数据字典自动生成效率提升10倍

告别手动维护&#xff1a;OpenMetadata让数据字典自动生成效率提升10倍 【免费下载链接】OpenMetadata 开放标准的元数据。一个发现、协作并确保数据正确的单一地点。 项目地址: https://gitcode.com/GitHub_Trending/op/OpenMetadata 你是否还在为数据字典的手动更新而…

作者头像 李华
网站建设 2026/4/3 23:14:09

英雄联盟智能助手:改变游戏体验的终极游戏工具

英雄联盟智能助手&#xff1a;改变游戏体验的终极游戏工具 【免费下载链接】champ-r &#x1f436; Yet another League of Legends helper 项目地址: https://gitcode.com/gh_mirrors/ch/champ-r 还在为英雄联盟中的装备搭配和符文选择而烦恼吗&#xff1f;这款专业的智…

作者头像 李华
网站建设 2026/4/12 2:41:22

ESP32摄像头MicroPython性能优化实战指南

嵌入式视觉新范式&#xff1a;突破传统图像采集瓶颈 【免费下载链接】micropython-camera-driver add camera support to MicroPython 项目地址: https://gitcode.com/gh_mirrors/mi/micropython-camera-driver 在当今边缘计算浪潮中&#xff0c;ESP32摄像头驱动正经历着…

作者头像 李华
网站建设 2026/4/15 12:24:04

EspoCRM前端框架:如何构建现代化的企业级单页面应用?

EspoCRM前端框架&#xff1a;如何构建现代化的企业级单页面应用&#xff1f; 【免费下载链接】espocrm EspoCRM – Open Source CRM Application 项目地址: https://gitcode.com/GitHub_Trending/es/espocrm 在现代企业级应用开发中&#xff0c;单页面应用架构已成为主流…

作者头像 李华
网站建设 2026/4/15 7:51:44

【花雕学编程】Arduino BLDC 之双频率正弦波控制

一、核心概念铺垫 首先要明确&#xff1a;BLDC 的正弦波控制是相对方波&#xff08;梯形波&#xff09;控制的一种更优驱动方式&#xff0c;而双频率正弦波控制是在传统单频率正弦波驱动的基础上&#xff0c;引入两个不同频率的正弦波信号叠加来驱动电机的技术。 传统正弦波控制…

作者头像 李华
网站建设 2026/4/12 1:38:12

第二届大数据、通信技术与计算机应用国际学术会议(BDCTA 2026)

第二届大数据、通信技术与计算机应用国际学术会议&#xff08;BDCTA 2026&#xff09;议定于2026年2月6日至8日在中国-哈尔滨召开&#xff0c;旨在汇聚全球专家学者&#xff0c;共同探讨计算机应用领域的研究成果与创新实践。会议诚挚欢迎各位专家、学者赐稿、参会&#xff01;…

作者头像 李华