我尝试将当前日期添加到 HTTP @GET 中的 url 字符串,但收到属性值必须为常量
错误。我不明白为什么?我正在使用改造 2。
public interface API {
final Date c = new Date();
final String date=new SimpleDateFormat("yyyy-MM-dd").format(c);
static final String url = ("/modules/json/json/Index?costNumber=0417&firstDay="+date+"&language=fi");
@GET(url)
Call<Menu> getMenuName();
最佳答案
弗雷德的答案是适合您的情况的正确解决方案。不过,出于完整信息的考虑,Retrofit 2 确实支持动态 URL。您可以将其作为 @Url
参数传递给您的接口(interface)方法,例如:
@GET
Call<ResponseBody> getMenuName(@Url String url);
您无需在 @GET
注释中指定 URL。 Retrofit 将从传递的 url
中获取值。这使您可以选择从动态 URL 请求数据,这在某些情况下很有用。
您可以在这里找到更多信息:https://futurestud.io/tutorials/retrofit-2-how-to-use-dynamic-urls-for-requests
关于java - 为什么我收到“属性值必须是常量”错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41720327/