Я пытаюсь отправить данные на сервер REST API с помощью дооснащения + RxJava.Когда я пытаюсь отправить данные на сервер, появляется сообщение «Произошла внутренняя ошибка сервера HTTP 500».Но когда данные отправляются с помощью POSTMAN, это удалось.
Это функция для отправки данных в Model.
// Encountering with 500 server error
fun postSchedule(data : ScheduleResponse , errorLD: MutableLiveData<String>){
Log.d("POST DATA", "${data.title} ${data.remindMeAt}" )
userClient.postScheduleItem(data)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.unsubscribeOn(Schedulers.io())
.subscribe(object : io.reactivex.Observer<ServerResponse>{
override fun onComplete() {
}
override fun onSubscribe(d: Disposable) {
}
override fun onNext(t: ServerResponse) {
errorLD.value = t.status
}
override fun onError(e: Throwable) {
errorLD.value = e.message
}
})
}
Это мой интерфейс API
@Headers("Accept: application/json")
@POST("schedules")
fun postScheduleItem(@Body data: ScheduleResponse): Observable<ServerResponse>
Это клиент для модернизации.val httpLoggingInterceptor = HttpLoggingInterceptor (). setLevel (HttpLoggingInterceptor.Level.BODY) val httpClient = OkHttpClient.Builder ()
var dbInstance: TodoDB = TodoDB.getInstance(context)
var rxJavaAdapter = RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io())
val retrofitBuilder =
Retrofit.Builder()
.baseUrl(AppConstants.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(rxJavaAdapter)
fun <T> createService(serviceClass: Class<T>, authToken: String?): T {
if (!TextUtils.isEmpty(authToken)) {
val interceptor = AuthenticationInterceptor(authToken!!)
if (!httpClient.interceptors().contains(interceptor)) {
httpClient.addInterceptor(interceptor)
retrofitBuilder.client(httpClient.build())
}
}
return retrofitBuilder.build().create(serviceClass)
}
Пожалуйста, помогите мне с этим. Спасибо.