首页 > 解决方案 > 使用 Kotlin 发送带有改造的 JSONObject

问题描述

我无法找到如何使用 JSONObject 进行改造 @POST。

interface AuthApi {
    @Multipart
    @POST("auth/login")
    suspend fun userLogin(
        @Body authResponse: JSONObject?
    ): Response<AuthResponse>
}

发送时出现错误:

E/UncaughtException: java.lang.IllegalArgumentException: @Body 参数不能与表单或多部分编码一起使用。

我很确定我没有以正确的方式发送 JSONObject,但是我找不到一个好的指南来帮助我在 Kotlin 中实现这个。

我试图添加:

@Headers("Content-Type: application/json; charset=urf-8")

直接后@Multipart,无济于事。我想知道如何正确发送我的 JSONObject。

标签: androidkotlinretrofit2

解决方案


用户@Part而不是@Body

由于您使用的是 Multi Part 编码,因此它不仅仅包含一个 Body 对象。它接受多个Part参数


推荐阅读