附加查询取决于布尔值

Additional Query depending on boolean

我有这样的查询:

getData(number: String)

@GET("/myapp/{number}/details")
fun getData(
@Path number: String
)

但我想创建类似的东西:

getData(withAdditionalParam: Boolean, number: String)


@GET("/myapp/{number}/details?sometimesAdditionalParam="number")
    fun getData(
    @Path number: String,
    ? what here ?
    )

目前我有 2 个单独的 GET 函数,但我相信我们可以使用 1 个 get 函数来实现它

您可以使附加参数可为空,以便 Retrofit 仅在它不为空时传递它。

@GET("/myapp/{number}/details")
    fun getData(
    @Path number: String,
    @Query("sometimesAdditionalParam") additionalParam : Boolean? = null
    )

想传的时候

getData(number: String, true)

当你不

getData(number: String)

参数可以用@Query

注释
@GET("/myapp/{number}/details")
fun getData(
    @Path("number") number: String,
    @Query("sometimesAdditionalParam") sometimesAdditionalParam: Boolean? = null
)

为查询参数分配默认空值不会将查询参数 sometimesAdditionalParam 附加到请求