Модифицированный вложенный объект POST

#kotlin #retrofit2 #retrofit2.6

#kotlin #доработка2 #доработка2.6

Вопрос:

я хочу задать вопрос об использовании модифицированного POST 2 с Kotlin

это ввод, который выполняет Postman

 "assets": {
       "product": [
            {
                "eTag": ""a59d9f11f3bfc643b00a96cabb8127a6"",
                "location": "https---abc.com/abc.png",
                "filename": "abc",
                "type": "PD"
            },
            {
                "eTag": ""dd74783c22bdb8c7cf5ff0185297ee06"",
                "location": "https---abc.com/abc.png",
                "filename": "abc",
                "type": "PD"
            }
       ],
       "barcode": [
           {
                "eTag": ""3a4a0719d5fb9f5a1e4b6b9d246db4de"",
                "location": "https---abc.com/abc.png",
                "filename": "abc",
                "type": "BC"
            }
       ]
   }
 

это из моего интерфейса

     @FormUrlEncoded
    @POST("create/newassets")
    fun newAssets(
        @Field("assets") assets: Asset? = null,
    ): Call<NewSkuResponse>
 

это из моего класса assets

 
data class Asset(

    @field:SerializedName("product")
    var product: MutableList<DataItemAsset?>,

    @field:SerializedName("barcode")
    var barcode: MutableList<DataItemAsset?>
)

 

я получил 400 неверных запросов с этим, я думаю, что мой код не работает нормально
, любая помощь, спасибо

Комментарии:

1. Какую ошибку или вывод вы получаете при сбое приложения?

Ответ №1:

Решаемая Oeganz,

Это работает как шарм с @Body

  fun newAssets(
        @Body reqSKU: ReqSKU,
 ): Call<NewSkuResponse>
 
 data class ReqSKU(
    @SerializedName("assets")
    val assets: Asset
)
 
 data class Asset(

    @field:SerializedName("product")
    var product: MutableList<DataItemAsset?>,

    @field:SerializedName("barcode")
    var barcode: MutableList<DataItemAsset?>
)