所以我有一个NetworkConfig.kt
类的接口(interface):
interface getProductList {
@GET("stock")
fun getProducts(@Query("outcode") stkOutcode: String): Call<OutletListPOJODataClasses>
}
这是我用来获取url的Activity中的代码段:
NetworkConfig().getProductListService()
.getProducts() //What should i pass here ?
.enqueue(object : Callback<ProductListPOJODataClasses> {
override fun onFailure(call: Call<ProductListPOJODataClasses>, t: Throwable) {
Toast.makeText((activity as AppCompatActivity), t.localizedMessage, Toast.LENGTH_SHORT).show()
}
override fun onResponse(
call: Call<ProductListPOJODataClasses>,
response: Response<ProductListPOJODataClasses>
) {
binding.rvProductList.adapter = response.body()?.let { ProductListAdapter(it, this@ProductListFragment) }
Toast.makeText((activity as AppCompatActivity), "Data retrieved!", Toast.LENGTH_SHORT).show()
}
})
这是我使用的数据类:
data class ProductListPOJODataClassesDataItem(
@field:SerializedName("stk_prodcode")
val stkProdcode: String? = null,
@field:SerializedName("stk_allqty")
val stkAllqty: Int? = null,
@field:SerializedName("pro_saleprice")
val proSaleprice: Int? = null,
@field:SerializedName("skt_lastupdate")
val sktLastupdate: String? = null,
@field:SerializedName("stk_outcode")
val stkOutcode: String? = null,
@field:SerializedName("pro_name")
val proName: String? = null
)
我在使用这个库方面还很陌生。我想知道的是,我应该在上面的
.getProducts()
函数中传递什么?如果有任何不清楚的地方,请通知我。 最佳答案
它应该是
NetworkConfig().getProductListService()
.getProducts(stkOutcode = stkOutcodeValue)
....
如果适用,则应知道
stkOutcodeValue
(字符串类型)或可以使用默认值的位置。感谢@sonnet,本例中的终结点为
https://example.com/api/stock?outcode=stkOutcodeValue