2016-10-15 3 views
9

Ich arbeite an Youtube API. Die Basis-URL ist https://www.googleapis.com/youtube/v3/search/ Anfrage: GET https://www.googleapis.com/youtube/v3/search?part=snippet&q= {SEARCH_KEYWORD} & key = {API_ KEY}Retrofit-Fehler-fehlt entweder @GET URL oder @Url Parameter

ApiService Schnittstelle Code-

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

Der Fehler: java.lang.IllegalArgumentException: Fehlt entweder @GET URL oder @Url Parameter. in der Codezeile

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

Ich bin ein Anfänger. Bitte helfen Sie!

Antwort

37

Es ist viel semantisch korrekt, https://www.googleapis.com/youtube/v3/ als Ihre Basis-URL zu verwenden und dann @GET("search/") auf Ihrer Service-Methode zu deklarieren.

Das heißt, wenn Sie wirklich Ihre Basis-URL für den vollständigen Pfad sein, wollen Sie @GET("."), dass die finale URL zu erklären, können die gleiche wie Ihre Basis-URL ist.

+0

Thanx senden. Es hat das Problem gelöst. – ankushbbbr

+0

genial ... danke – Vrajesh

+1

danke für all deine tollen Bibliotheken J.W bitte mach ein paar Bücher und teile dein Wissen :) – AndroidLover

-2

Verwenden @GET("./") oder POST("./") für Daten in der Datenbank