Fab
Fab

Reputation: 121

Retrofit with an old school service

I'm using an external service like : http://domain.com/free/v1/servicename.ext?format=json&num_of_days=4

I try to use Retrofit like that :

@GET("/free/v1/servicename.ext?format=json&num_of_days={numOfDays}")
void serviceName(@Path("numOfDays") int numOfDays, Callback<Result> callback);

but an exception is thrown :

URL query string must not have replace block.

Is it compatible with this kind of url ?

Upvotes: 11

Views: 6503

Answers (1)

Jake Wharton
Jake Wharton

Reputation: 76115

It absolutely is compatible with it!

You can't use @Path inside of the query parameters. That annotation is only for replacements inside the path.

The @Query parameter allows for creating dynamic query parameters.

@GET("/free/v1/servicename.ext?format=json")
void serviceName(@Query("num_of_days") int numOfDays, Callback<Result> callback);

Upvotes: 36

Related Questions