В моем случае, когда я помещал вспомогательный объект класса в запросе дооснащения он становится пустым в теле запросаНевозможно преобразовать Подкласс объект запроса JSON тела в Модернизированный 2.0 с GsonConverterFactory
interface User{ // my super interface
}
class FbUser implements User{ // my sub class
public String name;
public String email;
}
interface APIInterface{
@POST(APIConstants.LOGIN_URL)
Observable<LoginAPIResponse> createUserNew(@Body User user);
}
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(baseUrl)
.addConverterFactory(GsonConverterFactory.create(new Gson()))
.addCallAdapterFactory(RxErrorHandlingCallAdapterFactory.create())
.client(okHttpClient)
.build();
APIInterface networkAPI = retrofit.create(APIInterface.class);
теперь я передаю FbUserObject
networkAPI.createUserNew(fbUserObject).subscribe();
тогда объект пуст в теле. видеть мой журнал
D/OkHttp: Content-Type: application/json; charset=UTF-8
D/OkHttp: Content-Length: 2
D/OkHttp: Accept: application/json
D/OkHttp: TT-Mobile-Post: post
D/OkHttp: {}
D/OkHttp: --> END POST (2-byte body)
Я также пройти через эту ссылку потока stackover Polymorphism with gson
Если я должен написать свой собственный Gson конвертер?
Похоже на решение проблемы. Теперь я печальная панда: (Ищете способ автоматизировать процесс. Возможно, отражением является мой выбор –