swift - 我们如何在 kotlin mutlplatform 中处理 ios 和 android 平台的 api 响应?

标签 swift kotlin kotlin-multiplatform ktor kotlin-multiplatform-mobile

嘿,我是 Kotlin 多平台移动领域的新手。我有android领域的开发经验。我正在尝试连接 Android 应用程序Ios 应用程序。我搜索了一下,看到Ktor是从服务器获取数据的方式。在android中我们使用Kotlin Sealed Classes for Handling API Responses例如在您的应用程序和 ios 端团队中使用 Understanding Swift closures and asynchronous request functions与这些类似。我有点困惑,我如何在公共(public)模块中使用这种方式来使用两个平台,因为两个平台都有拦截器和更多东西。我需要从头开始编写所有内容吗?或者有什么办法我们可以使用现有的方式。我的两个平台应用程序是一个巨大的项目。我不会更换代码。我想使用 Ktor 通过 KMM 启动新的 api 调用。任何建议或项目都会对我有帮助。谢谢

最佳答案

您不需要从头开始编写任何内容。基本上,您将需要一个位于共享模块中的单独的网络层。它将主要由您的请求/响应模型和 api 调用内容组成。在这里,您只能定义一个密封类,它将在您的 api 回调中为您提供 api 是否成功或失败的信息,并据此您可以处理您的响应。 可以引用这个amazing sample适合您的用例。也可以引用这个blog以便深入理解。

关于swift - 我们如何在 kotlin mutlplatform 中处理 ios 和 android 平台的 api 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71308439/

相关文章:

android - 无法在写入事务之外修改托管对象(Realm + Android)

Kotlin 多平台预期注释返回 `This class does not have a constructor` 和 neo4j 实际类型别名

android - 未生成 Sqldelight 数据库架构

ios - Tableview 单元格内边距和间距

ios - Swift UNUsernotification applicationIconBadgeNumber 始终显示一个

gradle - 当我升级到 Kotlin 1.3.30 时,为什么 Kotlin JSR223 脚本停止工作

multithreading - 如何在多线程环境下修改Kotlin StateFlow内容?

kotlin-multiplatform - 无法启动依赖于公开库的新 kotlin 多平台库

arrays - 在 swift 中使用 alamofire 发送 JSON 数组作为参数

swift - 如何更新/编辑核心数据