Kotlin Параметры аннотации запроса на модернизацию - PullRequest
1 голос
/ 29 мая 2020

Итак, у меня есть интерфейс для класса NetworkConfig.kt:

interface getProductList {
    @GET("stock")
    fun getProducts(@Query("outcode") stkOutcode: String): Call<OutletListPOJODataClasses>
}

, и это фрагмент кода из Activity , который я использую для получения URL:

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()? Если что-то неясно, дайте мне знать.

1 Ответ

1 голос
/ 29 мая 2020

Это должно быть

NetworkConfig().getProductListService()
    .getProducts(stkOutcode = stkOutcodeValue)
    ....

, где stkOutcodeValue ( String type) должно быть известно или может использоваться значение по умолчанию, если применимо.

Спасибо to @ so nnet, конечная точка в этом случае https://example.com/api/stock?outcode=stkOutcodeValue

...