Android Monhofit Post Type Data Data Wations Data Null NullAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android Monhofit Post Type Data Data Wations Data Null Null

Сообщение Anonymous »

Я пытаюсь передать модель данных серверу в Android, используя модернизацию для регистрации учетной записи пользователя. Когда я отправляю тип данных пользовательских данных на сервер через пост, я получаю проблему. Http 500 Указываю, что значения являются null. < /P>
Это тип данных, который я пытаюсь пройти < /p>

Код: Выделить всё

data class UserData(

@SerializedName("username")
val username : String,
@SerializedName("email")
val email : String,
@SerializedName("password")
val password : String
)
Моя модель для модернизации

Код: Выделить всё

object RetrofitHelper {
val baseUrl = "http:///api/include/"
fun getInstance(): Retrofit {
val httpLoggingInterceptor: HttpLoggingInterceptor = HttpLoggingInterceptor()
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY)

val okHttpClient = OkHttpClient.Builder()
.addInterceptor(httpLoggingInterceptor)
.build()

val gson = GsonBuilder()
.setLenient().create()

return Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create(gson))
.client(okHttpClient)
.build()
}
}
< /code>
Интерфейс API < /p>
    @POST("sol_register.php")
fun registerUser(@Body userdata : UserData) : Call
Действие для совершения звонка

Код: Выделить всё

val query = RetrofitHelper.getInstance().create(AccessApi::class.java)
Log.i("Values", event.userData.toString())
val call: Call = query.registerUser(event.userData)
call.enqueue(object : Callback {
override fun onFailure(call: Call, error: Throwable) {
Log.d("onFailure", error.message.toString())
}

override fun onResponse(call: Call, response: Response) {
val result = response.body()
Log.d("onResponse", response.code().toString())
result?.toString()?.let { Log.i("Result", it) }
}
})
< /code>
logcat правильно распечатывает значения userdata, но ошибка, которую я получаю от сервера, заключается в том, что все значения являются нулевыми. Следующая реализация, она отлично работает. < /p>
Изменение интерфейса API на: < /p>
    @FormUrlEncoded
@POST("sol_register.php")
fun registerUser(
@Field("username") username: String,
@Field("email") email: String,
@Field("password") password: String
): Call
Затем измените способ вызова:

Код: Выделить всё

        val call: Call = query.registerUser(
event.userData.username,
event.userData.email,
event.userData.password
)
В чем может быть причина проблемы? Я бы предпочел попытаться передать тип данных вместо того, чтобы вводить каждое поле. (думаю о будущих реализациях)

Подробнее здесь: https://stackoverflow.com/questions/793 ... ta-is-null
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Android Monhofit Post Type Data Data Wations Data Null Null
    Anonymous » » в форуме Android
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Как отправить сигнал "ctrl+c" / sigint, чтобы Gradle javaexec type type type jvm?
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Как правильно реализовать вызовы API в фрагменте Android, используя Coroutines и Monhofit?
    Anonymous » » в форуме Python
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • Код состояния ответа Laravel всегда 200 в Android Monhofit
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Код состояния ответа Laravel всегда 200 в Android Monhofit
    Anonymous » » в форуме Php
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»