在我的Andorid应用程序我正在使用Retrofit2 GET请求:的Android Retrofit2可选@Path PARAM
http://myapi.com/items/list
但我也想提出另一个请求例如
http://myapi.com/items/list/filter/active:true,min_price:100
所以滤波器参数是可选的。我试图做到以下几点:
@GET("items/items/list{filter}")
Observable<ResponseItems> getItems(@Path("filter") String filter);
,把它想:
service.getItems("")
和:
service.getItems("/filter/active:true,min_price:100")
但它不工作。所以我最终创建了两个独立的服务调用,一个使用filter参数,另一个不使用。我认为应该有更优雅的方法。
试通空,而不是空字符串。它正在查询参数。对于路径参数,您的要求有点奇怪。我认为使用单独的API调用是可以的。就像典型的带有重载方法的java类 – Beloo
@Beloo是的,但是如果你的API用户使用多于一个可选路径参数,那么调用它变得非常困难并且代码真的很难看。 – RafalManka