Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
554 views
in Technique[技术] by (71.8m points)

android - 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 ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...