web-dev-qa-db-ja.com

レトロフィットエラー-@GET URLまたは@Urlパラメーターのいずれかがありません

Youtube APIに取り組んでいます。ベースURLは<https://www.googleapis.com/youtube/v3/search/>

リクエスト:GET

https://www.googleapis.com/youtube/v3/search?part=snippet&q={search_keyword}&key={API_KEY}

ApiServiceインターフェイスコード-

public interface ApiService {
    @GET("")
    Call<YoutubeResponse> searchVideos(@Query("part") String part,
                                   @Query("q") String q,@Query("key") String apiKey);
}

エラー:Java.lang.IllegalArgumentException:行方不明@GET URLまたは@Urlパラメーター。

Call<YoutubeResponse> call=service.searchVideos("snippet",s, URLConstants.Youtube_API_KEY);

私は初心者です。助けてください!

28
ankushbbbr

ベースURLとして https://www.googleapis.com/youtube/v3/ を使用し、サービスメソッドで@GET("search/")を宣言する方がはるかに意味的に正しいです。

つまり、reallyベースURLをフルパスにしたい場合は、@GET(".")を使用して最終URLがベースURLと同じです。

111
Jake Wharton