Search code examples
androidandroid-studioretrofit

No Retrofit annotation found. (parameter #1)


I want get RSS code from a URL with Retrofit and if I enter url staticly in the get annotation everything is OK but with dynamic url I get an error.

My interface service :

public interface AllNewsService {
@GET("/fa/rss/{url}")
void getRss( @Path("url") String nGroup ,  Callback<AllNewsRss> callback);}

And calling getRss method :

DataGetter dg = new DataGetter();
    dg.get().getRss("allnews" ,new Callback<AllNewsRss>() {
        @Override
        public void success(AllNewsRss allNewsRss, Response response) {
            Log.d(TAG,"success");
        }

        @Override
        public void failure(RetrofitError error) {
            Log.d("*********",error.toString());
        }

I get the following error:

retrofit.RetrofitError: AllNewsService.getRss: No Retrofit annotation found. (parameter #1)

Note: I added below line to proguard.cfg but it didn't work

-keep class retrofit.** { *; }

Solution

  • Addition to Destil's answer

    Make sure the parameters you pass to the retrofit interface methods(i.e callbacks, headers, body ) are only belongs to retrofit package. e.g. Not custom callbacks that you want on your own.