为什么我的android改型返回空值?Iam正在获取其他值,但此特定api未获取该值

为什么我的android改型返回空值?Iam正在获取其他值,但此特定api未获取该值,android,retrofit,okhttp,Android,Retrofit,Okhttp,这是我的api服务代码 @FormUrlEncoded @POST("login") suspend fun login (@Field("username")username:String,@Field("password")password:String):LoggedUser 这是我需要的json数据 { "data": { "id": "",

这是我的api服务代码

@FormUrlEncoded
@POST("login")
suspend fun login (@Field("username")username:String,@Field("password")password:String):LoggedUser
这是我需要的json数据

 {
     "data": {
    "id": "",
    "emailid": "",
    "pass": "",
    "username": "",
    "profilepic": "",
    "locations": "",
    "favoritefoods": "",
    "favoritecooks": "",
    "rating": ""
    },
   "status": true
    }
我在用这个班

  data class LoggedUser(@SerializedName("data")
                  val data: Data,
                  @SerializedName("status")
                  val status: Boolean = false)
这是LoggedUser类中的数据类

  data class Data(@SerializedName("favoritefoods")
            val favoritefoods: String = "",
            @SerializedName("favoritecooks")
            val favoritecooks: String = "",
            @SerializedName("pass")
            val pass: String = "",
            @SerializedName("profilepic")
            val profilepic: String = "",
            @SerializedName("rating")
            val rating: String = "",
            @SerializedName("emailid")
            val emailid: String = "",
            @SerializedName("locations")
            val locations: String = "",
            @SerializedName("id")
            val id: String = "",
            @SerializedName("username")
            val username: String = "") 
其他代码都很清楚,因为我通过使用其他API获取值,这是调用的乐趣

  fun logier(username:String, password:String):LiveData<LoggedUser> {

  val eulogiser: LiveData<LoggedUser> = liveData {
      withContext(Dispatchers.IO) {
          val data = epicureservices.login(username, password)
          emit(data)
          Log.e("EnteredReplogindata",data.toString())

      }
  }
  Log.e("LoginResult",eulogiser.value.toString())
  return eulogiser
funlogier(用户名:String,密码:String):LiveData{
val-eulogiser:LiveData=LiveData{
withContext(Dispatchers.IO){
val data=epicureservices.login(用户名、密码)
发射(数据)
Log.e(“enteredreploginda”,data.toString())
}
}
Log.e(“LoginResult”,eulogiser.value.toString())
回传赞美词

}

您应该在每个SerializedName标记之前添加@Expose标记,但仍然返回null。如何将您的呼叫排队?我已经在上面添加了代码。您应该构建改装客户端并将呼叫排队,请检查