web-dev-qa-db-fra.com

Retrofit error-Missing soit @GET URL ou @Url paramètre

Je travaille sur l'API Youtube. L'URL de base est <https://www.googleapis.com/youtube/v3/search/>

Demande: GET

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

Code d'interface ApiService-

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

L'erreur: Java.lang.IllegalArgumentException: paramètre @GET URL ou @Url manquant dans la ligne de code

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

Je suis un débutant. Aidez-moi!

28
ankushbbbr

Il est beaucoup plus correct sémantiquement d'utiliser https://www.googleapis.com/youtube/v3/ comme URL de base, puis déclarez @GET("search/") sur votre méthode de service.

Cela dit, si vous voulez vraiment que votre URL de base soit le chemin complet, vous pouvez utiliser @GET(".") pour déclarer que votre URL finale est identique à votre URL de base.

111
Jake Wharton