Я пытаюсь использовать RealmObject в качестве содержимого тела сообщения PUT в Retrofit 2. Я внедрил пользовательский Gson с JsonSerializer и отлично работает за пределами Retrofit, но я все еще не получаю объект данные в теле запроса.
Gradle построить для модернизации и gson:
Передача объекта Realm as Retrofit 2 Тело запроса PUT
compile 'com.google.code.gson:gson:2.6.2'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
дооснащения обслуживание:
public interface LogstashRetrofitService {
@PUT(LOGSTASH_SERVER_PATH)
Call<ResponseBody> putLogstashMessage(@Body LogstashMessage logstashMessage);
}
Строительство Переоборудование:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(LOGSTASH_SERVER_HOST)
.addConverterFactory(GsonConverterFactory.create(RealmObjectGsonBuilder.getRealmGson()))
.client(httpClient.build())
.build();
logstashRetrofitService = retrofit.create(LogstashRetrofitService.class);
logstashRetrofitService.putLogstashMessage(logstashMessage).enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {}
});
* Я все еще не получаю данные объекта в теле запроса. * Что вы получаете тогда? –
Возможно, это невозможно. Я не уверен на 100%, но вы ссылаетесь на эту ссылку https://realm.io/docs/java/latest/#what-is-the-difference-between-a-normal-java-object -and-a-realm-object – iAndroid
Какой код статуса вы получаете? –