Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
551 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 Reply

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...