Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 在带有改装的条件下,在URL路径中添加参数_Kotlin_Interface_Retrofit_Okhttp - Fatal编程技术网

Kotlin 在带有改装的条件下,在URL路径中添加参数

Kotlin 在带有改装的条件下,在URL路径中添加参数,kotlin,interface,retrofit,okhttp,Kotlin,Interface,Retrofit,Okhttp,我创建了一个API,如下所示: interface listProd { @GET("v1/{type}") fun getProduct( @Path("type") type: String): Observable<Response> } 接口列表prod{ @获取(“v1/{type}”) 趣味产品( @路径(“类型”)类型:字符串):可观察 } 现在我需要添加一个参数,如下所示: interface listProd { @GET("v1/{ty

我创建了一个API,如下所示:

interface listProd {
  @GET("v1/{type}")
  fun getProduct(
      @Path("type") type: String): Observable<Response>
}
接口列表prod{
@获取(“v1/{type}”)
趣味产品(
@路径(“类型”)类型:字符串):可观察
}
现在我需要添加一个参数,如下所示:

interface listProd {
  @GET("v1/{type}?preview=true")
  fun getProduct(
      @Path("type") type: String): Observable<Response>
}
接口列表prod{
@获取(“v1/{type}?preview=true”)
趣味产品(
@路径(“类型”)类型:字符串):可观察
}
但我不想一直拥有它。我们的目标是看看如何添加
?preview=true
在布尔条件下,我不希望有多个接口,但希望有一个智能的方法来添加或不添加它

该条件可以是
getProduct
中的布尔传递,它触发
的追加或不追加?preview=true

有什么想法吗
谢谢

您应该能够为此使用可选的查询参数:

@GET("v1/{type}")
fun getProduct(
    @Path("type") type: String,
    @Query("preview") preview: Boolean?
): Observable<Response>
@GET(“v1/{type}”)
趣味产品(
@路径(“类型”)类型:字符串,
@查询(“预览”)预览:布尔值?
):可见

需要注意的是,传入
true
false
将包含该参数,而
null
将完全忽略该参数。

如果不需要,我希望避免在路径中显示参数。