我试图隐藏我的API密钥,因此要这样设置我的Retrofit Api接口(interface):
但是,我收到一个错误“属性值必须为常数”。有没有办法解决和访问此字符串?
更新:这是第二次尝试:
private static final String API_KEY = popularmovies.troychuinard.com.popularmovies.BuildConfig.TMD_API_KEY;
public interface ApiInterface {
@GET("?language=en-US")
Call<Movies> getImages(@Query("api_key") API_KEY);
}
更新:这是第三次尝试:
下面是我作为URL发出请求时看到的日志记录,可以看出API密钥现在位于URL的末尾,这是不正确的语法:
最佳答案
使用:
@GET("/rest/of/your/path/here?language=en-US")
Call<Movies> getImages(@Query("api_key") apiKey);
您将
popularmovies.name.com.popularmovies.BuildConfig.TMD_API_KEY
传递到getImages()
的位置:Call<Movies> call=yourRetrofitInterface.getImages(BuildConfig.TMD_API_KEY);
另外,您的
@GET
批注似乎缺少REST端点的路径(在我的示例中显示为/rest/of/your/path/here
)。