带有过滤器参数的 refrofit2 请求。 @Query 而不是@Path

refrofit2 request with filter param. @Query instead of @Path

我有以下要求,需要使用 Retrofit 2 库进行设置。 我发现了很多变体,但没有运气。

所以我的 URL 是:

http://server/api/v1/items?filter=param1==111;param2==222;param3==333;&select=param1;param2;param3

我试着写成下面的格式:

@GET("api/v1/items?filter=param1=={param1};param2=={param2};param3=={param3}")
Call<ItemResponse> getItems(@Path("param1") String param1, @Path("param2") String param2, @Path("param3") String param3);

但在这种情况下我有一个例外

java.lang.IllegalArgumentException: URL query string "filter=param1=={param1};param2=={param2};param3=={param3}" must not have replace block. For dynamic query parameters use @Query.
    for method IAramexApi.getItems

所以,我需要使用@Query注解,但我不知道如何在我的案例中使用它。

我看到的每个示例都涵盖了以下查询:

method?param1==value1...

对于我的情况,我需要类似

的东西

method?filter=param1==value1...

请帮助我。

正确的做法是:

 @GET("api/v1/items")
    Call<ItemResponse> getItems(@Query("param1") String param1, @Query("param2") String param2, @Query("param3") String param3);