所以我有一个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

10-08 04:52