ankushbbbr ankushbbbr - 1 month ago 34
Android Question

Retrofit error-Missing either @GET URL or @Url parameter

I am working on Youtube API.
The base URL is https://www.googleapis.com/youtube/v3/search/
Request :GET
https://www.googleapis.com/youtube/v3/search?part=snippet&q={search_keyword}&key={API_
KEY}

ApiService Interface code-

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


The error: java.lang.IllegalArgumentException: Missing either @GET URL or @Url parameter.
in the line of code

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


I'm a beginner. Please help!

Answer

It's much more semantically correct to use https://www.googleapis.com/youtube/v3/ as your base URL and then declare @GET("search/") on your service method.

That said, if you really want your base URL to be the full path you can use @GET(".") to declare that your final URL is the same as your base URL.

Comments