Trong trường hợp của tôi khi tôi đặt đối tượng lớp phụ trong yêu cầu trang bị thêm nó trở nên trống rỗng trong yêu cầu cơ thểKhông thể chuyển đổi đối tượng Subclass để yêu cầu cơ thể json theo Retrofit 2.0 với 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);
bây giờ tôi đang đi qua FbUserObject
networkAPI.createUserNew(fbUserObject).subscribe();
thì đối tượng sẽ trống trong phần thân. thấy đăng nhập của tôi
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)
tôi cũng trải qua liên kết này dòng chảy stackover Polymorphism with gson
i nên phải viết riêng Gson Chuyển đổi của tôi?
Trông giống như một giải pháp. Tôi là một con gấu trúc buồn bây giờ mặc dù: (Tìm kiếm một cách để tự động hóa quá trình. Có lẽ phản ánh là sự lựa chọn của tôi –