Попытка сделать вызов API для https://martialwebapi.azurewebsites.net/api/PostModel, который просто возвращает простой объект Json с некоторыми ненужными данными.Я получаю список с правильным количеством записей, но все, кроме поля ID, пусто.Почему все поля кроме идентификатора не заполнены.
Ответ
0 = {PostModel@5599} "PostModel(ID=1, title=null, dataType=0, content=null)"
1 = {PostModel@5600} "PostModel(ID=2, title=null, dataType=0, content=null)"
2 = {PostModel@5601} "PostModel(ID=3, title=null, dataType=0, content=null)"
3 = {PostModel@5602} "PostModel(ID=4, title=null, dataType=0, content=null)"
Вызов клиента
private fun apiCall() {
val client = RetrofitClientKotlin.create()
client.getPopularPosts()
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.computation())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({
var postResponse: List<PostModel> = it
adapter.setPosts(postResponse)
},{
it.printStackTrace()
})
}
Клиент
public class RetrofitClient {
private static final String baseURL = "https://martialwebapi.azurewebsites.net";
private static Retrofit getClient(){
return new Retrofit.Builder()
.baseUrl(baseURL)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
}
public static ApiService getApiService(){
return getClient().create(ApiService.class);
}
}
Интерфейс API
interface MartialApiService {
@GET("/api/PostModel")
fun getPopularPosts(): Observable<List<PostModel>>
}
Модель
data class PostModel(val ID: Int, val title: String, val dataType: Int, val content: String)