改造返回带有空值元素的列表

时间:2018-08-19 15:23:05

标签: android api kotlin

嗨,我正在使用https://trakt.docs.apiary.io/ Api,由于某种原因,当我进行顶级电影请求改装时,会返回正常的电影列表。

@GET("/movies/popular")
fun getMovies(@Query("page") pageNo: Int, @Query("limit") limit: Int): Flowable<List<Movie>>

但是当我使用搜索

 @GET("/search/{id_type}")
fun getMoviesForQuery(@Path("id_type") type: String,
                    @Query("query") query: String,
                    @Query("page") pageNo: Int?,
                    @Query("limit") limit: Int?): Flowable<List<Movie>>

它返回具有空值的电影列表。这就是我使用改造的方式:

 if (query == "") {
            compositeDisposable.add(moveApi.getMovies(pageNumber, params.requestedLoadSize).subscribe { movies ->
                callback.onResult(movies)
            })
        } else {
            compositeDisposable.add(
                    moveApi.getMoviesForQuery(movieType, query, ++pageNumber,
                            params.requestedLoadSize).subscribe { movies ->
                        callback.onResult(movies)
                    })
        }

我做错了还是api被破坏了?

编辑:值得注意的是,当您收到搜索的电影时,如果全部为零,则不同搜索的大小会有所不同。例如,如果我用“ gg”发出请求,我会收到17个结果,但是当我用不同的字符串(例如“ gggg”)进行a时,我会得到0个结果。我认为这意味着正确地发出了请求,只是数据丢失了某个地方。

1 个答案:

答案 0 :(得分:0)

我发现错误是我的。对api的搜索调用返回了另一种JSON模型,因此当解析完成时,我的模型与另一个模型不匹配。