1. ホーム
  2. android

[解決済み] Retrofitのアノテーションが見つかりません。(パラメータ#1)

2023-05-31 19:17:12

質問

URLからRSSコードを取得したいのですが Retrofit で、getアノテーションに静的にURLを入力した場合はすべてOKですが、動的なURLの場合はエラーが発生します。

私のインターフェイス・サービス。

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

そしてgetRssメソッドを呼び出す.

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

以下のようなエラーが出ます。

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

注意 私は以下の行を proguard.cfg に追加しましたが、うまくいきませんでした。

-keep class retrofit.** { *; }

どのように解決するのですか?

Destilの回答への追加

を確認してください。 parameters に渡す retrofit interface methods(i.e callbacks, headers, body ) にのみ属します。 retrofit package にのみ属します。例えば、あなた自身が必要とするカスタムコールバックではありません。