2017-08-16 1 views
0

Je suis confronté à un problème lors de l'envoi du corps de l'objet json en utilisant la retrofit sur le serveur. Voici l'erreur.Aucune erreur d'args retrofit request body

invoquer Failed publics com.nitesh.brill.saleslines._User_Classes.User_PojoClass.UpdatePreviousDetails() sans args

extrait de code

// point final Api

@Headers("Content-Type: application/json") 
@POST("UpdatePreviousDetails/{Id}") 
fun updatePreviousDetails(@Path("Id") Id: Int, @Body updateDetails :UpdatePreviousDetails): Call<UpdatePreviousDetails> 

// classe pojo

package com.nitesh.brill.saleslines._User_Classes.User_PojoClass 

import java.util.* 

/** 
* Created by Nitesh Android on 16-08-2017. 
*/ 
class UpdatePreviousDetails(
     var CompanyName: String? = null!!, 
     var Designation: String? = null!!, 
     var DateOfJoin: Date? = null!!, 
     var DateOfLeaving: Date? = null!!, 
     var SectorPreviouslyWorked: String? = null!!, 
     var Id: Int? = null!! 
) { 


} 

// envoi des données

val details = UpdatePreviousDetails("rr", "asm", date, date, "Pharmaceuticals",3) 

val call = apiEndpointInterface!!.updatePreviousDetails(5, details) 

call.enqueue(object :Callback<UpdatePreviousDetails> { 
    override fun onResponse(call: Call<UpdatePreviousDetails>?, response: Response<UpdatePreviousDetails>?) { 
     objUsefullData.showSnackBar("success") 

     UsefullData.Log("============="+response!!.body().toString()) 

    } 

    override fun onFailure(call: Call<UpdatePreviousDetails>?, t: Throwable?) { 

     objUsefullData.showSnackBar("fail") 
     UsefullData.Log("============="+t) 

    } 

}) 

J'utilise la langue de Kotlin

Répondre

0

Votre classe UpdatePreviousDetails doit avoir un constructeur sans paramètre pour permettre Gson (à l'intérieur Retrofit) pour convertir votre objet en JSON.

EDIT

class UpdatePreviousDetails() { 

    var CompanyName: String? = null 
    var Designation: String? = null 
    var DateOfJoin: Date? = null 
    var DateOfLeaving: Date? = null 
    var SectorPreviouslyWorked: String? = null 
    var Id: Int? = null 

    constructor(
      CompanyName: String?, 
      Designation: String?, 
      DateOfJoin: Date?, 
      DateOfLeaving: Date?, 
      SectorPreviouslyWorked: String?, 
      Id: Int? 
    ) : this() { 

     this.CompanyName = CompanyName 
     this.Designation = Designation 
     this.DateOfJoin = DateOfJoin 
     this.DateOfLeaving = DateOfLeaving 
     this.SectorPreviouslyWorked = SectorPreviouslyWorked 
     this.Id = Id 
    } 
} 
+0

comment je peux faire s'il vous plaît donner un reffrence –

+0

@NIteshKumar Je viens edited ma réponse, s'il vous plaît vérifier. –

+0

ne fonctionne pas maintenant erreur à venir pojo classe nulpointerexception –