retrofit 2 @path Vs @query retrofit 2 @path Vs @query android android

retrofit 2 @path Vs @query


Consider this is the url:

www.app.net/api/searchtypes/862189/filters?Type=6&SearchText=School

Now this is the call:

@GET("/api/searchtypes/{Id}/filters")Call<FilterResponse> getFilterList(          @Path("Id") long customerId,          @Query("Type") String responseType,          @Query("SearchText") String searchText);

So we have:

www.app.net/api/searchtypes/{Path}/filters?Type={Query}&SearchText={Query}

Things that come after the ? are usually queries.


For example:

@GET("/user/{username}?type={admin}")

Here username is the path variable, and type is the query variable

@GET("/user/{username}?type={admin}")void getUserOuth(@Path("username") String username, @Query("type") String type)


@Query

  • This annotation represents any query key value pair to be sent along with the network request

@Path

  • This annotation implies that the passed parameter will be swapped in the endpoint path