WebAPIのレスポンス取得時にリクエスト内容を知りたい
同じWebAPIをリクエストパラメータを変えながら複数回呼び出ししています。RxJavaのMergeを使っています。
WebAPIでは商品名を指定すると価格が返ってきますが、リクエストで指定した商品名はレスポンスに含まれません。
レスポンス取得時にリクエスト内容を知るためにどのような方法がありますか?
(残念ながらWebAPIの仕様は変えられないです)
環境
Kotlin, Retrofit2, RxJava2
WebAPI仕様
商品名を指定すると、その商品の価格をJSONで返す
request: /price/りんご
response: {price:180}
コード
val apiArray = arrayOf(
apiClient.getPrice("りんご"),
apiClient.getPrice("もも"),
apiClient.getPrice("ぶどう")
)
Observable.merge(*apiArray)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doAfterTerminate {
println("全部終わった")
}
.subscribe({ price ->
// ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
// ※※※※ここでリクエストの商品名を知りたい※※※※
// ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
println("${xxx}の価格は${price.price}円です")
},{
println("エラー")
})
interface ApiClient {
@Headers("accept: application/json")
@GET("/price/{name}")
fun getPrice(@Path("name") name: String): Observable<Price>
}
data class Price(val price: Int)