Post JSON 多部分数据改造 android

Post JSON Multipart-Data with retofit android

我正尝试在我的 android 设备上模拟此图片中的请求。如果我用邮递员试试,我的 API 工作正常。

我正在使用的这段代码不起作用

    @Multipart
    @POST("students/driver/signup")
    fun driverSignUp(
        @Part licenseImg: MultipartBody.Part, @Part insuranceImg: MultipartBody.Part,
        @Part vehicleImg: MultipartBody.Part, @Part("driver") driver: Driver
    ): Call<Void>

我有 Driver 模型 class,带有 SerializedNameExpose 注释。

我在从 android 发送请求时收到此错误我在后端使用 golang schema: invalid path "driver

您的 class driver 不能成为零件。

您应该发送代表 Driver 的 json,服务将是

@Multipart
@POST("students/driver/signup")
fun driverSignUp(
    @Part licenseImg: MultipartBody.Part, @Part insuranceImg: MultipartBody.Part,
    @Part vehicleImg: MultipartBody.Part, @Part driver: MultipartBody.Part
): Call<Void>

那么您必须更新您的服务以接受 json 作为 driver 而不是代表它的 4 个字符串