У меня проблема с дооснащением. Я хотел бы получить некоторые данные, просто для целей тестирования, чтобы увидеть, если что-нибудь произойдет, но, как вы можете видеть, ничего не приходит. Я получаю данные как 0, 0.0, ноль.
Json response
{
"page": 1,
"total_results": 1295,
"total_pages": 65,
"results": [
{
"vote_count": 1669,
"id": 10515,
"video": false,
"vote_average": 8,
"title": "Castle in the Sky",
"popularity": 15.853,
"poster_path": "\/npOnzAbLh6VOIu3naU5QaEcTepo.jpg",
"original_language": "ja",
"original_title": "天空の城ラピュタ",
"genre_ids": [
12,
14,
16,
28,
10751,
10749
],
"backdrop_path": "\/fnMzL4G6HYilH1w1leFXOY5b29m.jpg",
"adult": false,
"overview": "A young boy and a girl with a magic crystal must race against pirates and foreign agents in a search for a legendary floating castle.",
"release_date": "1986-08-02"
},
{
"vote_count": 154,
"id": 487672,
"video": false,
"vote_average": 6.7,
"title": "Reign of the Supermen",
"popularity": 15.461,
"poster_path": "\/e9TzqscNRUaG8HqEP3K1jUvi8pC.jpg",
"original_language": "en",
"original_title": "Reign of the Supermen",
"genre_ids": [
16,
28,
878
],
"backdrop_path": "\/cdCMUHWyXBOsbLL4dOEPdCEtwM4.jpg",
"adult": false,
"overview": "In the wake of The Death of Superman, the world is still mourning the loss of the Man of Steel following his fatal battle with the monster Doomsday. However, no sooner as his body been laid to rest than do four new bearers of the Superman shield come forward to take on the mantle. The Last Son of Krypton, Superboy, Steel, and the Cyborg Superman all attempt to fill the vacuum left by the world's greatest champion. Meanwhile, Superman's death has also signaled to the universe that Earth is vulnerable. Can these new Supermen and the rest of the heroes prove them wrong?",
"release_date": "2019-01-13"
}
]
}
Интерфейс вызова
@GET("3/discover/movie?api_key=APIKEY&with_genres=27")
Call<model> getABC();
Модифицированный звонок
String url = "https://api.themoviedb.org/";
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.build();
apiCall api = retrofit.create(apiCall.class);
Call<model> call = api.getABC();
call.enqueue(new Callback<model>() {
@Override
public void onResponse(Call<model> call, Response<model> response) {
if (!response.isSuccessful()){
}
List<model> list = Collections.singletonList(response.body());
for (model model : list) {
String content = "";
content += model.getVote_count() + "\n";
content += model.getVote_average() + "\n";
content += model.getOverview() + "\n\n\n";
System.out.println(content);
}
}
@Override
public void onFailure(Call<model> call, Throwable t) {
}
});
}
POJO
public class model {
@SerializedName("vote_count")
private int vote_count;
@SerializedName("vote_average")
private double vote_average;
@SerializedName("overview")
private String overview;
public int getVote_count() {
return vote_count;
}
public double getVote_average() {
return vote_average;
}
public String getOverview() {
return overview;
}
Что я должен изменить в коде? Я буду признателен за каждый намек. Код, который я получил от вызова, - 200 - значит, вызов успешен, что-то с моим классом pojo?
* Отредактировано POJO
public class model {
@SerializedName("results")
@Expose
private List<movies> results;
public List<movies> getResults() {
return results;
}
class movies {
@SerializedName("vote_count")
@Expose
private Integer voteCount;
@SerializedName("vote_average")
@Expose
private Double voteAverage;
@SerializedName("overview")
@Expose
private String overview;
}
}
отредактированный модернизированный вызов
public void onResponse(Call<model> call, Response<model> response) {
if (!response.isSuccessful()){
}
List<model> list = Collections.singletonList(response.body());
for (model model : list) {
System.out.println(model.getResults());
}
}
Вот часть, что я получил.
com.example.x.model$movies@5f6763b,
com.example.x.model$movies@e988158,
com.example.x.model$movies@6812b1,
Почему он не получает правильные имена?