使用带有WeatherAPI的Retrofit @GET - 静态参数

时间:2015-10-29 23:44:25

标签: android api retrofit

我正在使用OpenWeather API并在Retrofit上进行了第一次破解。我试图将预测拉出X天。可以在此处找到预测API的文档:

http://openweathermap.org/forecast16

看起来特定城市预测的API的相关链接如下:

api.openweathermap.org/data/2.5/forecast/daily?q={city name},{country code}&cnt={cnt}

我的基本网址为:

api.openweathermap.org/data/2.5/forecast/daily?

我对如何满足@GET注释以及异步响应的关联方法感到困惑。 “&”在API链接中也是令人困惑的,因为我真的不知道我会在我的@GET注释中包含API调用的静态部分。这就是我所拥有的:

public interface WeatherAPI {

@GET("/forecast/daily?")
void getResponse(@Query("city")String city, @Query("country_code") int countryCode, @Query("number_of_days") int number_of_days, Callback<List<WeatherForecast>> response);

 }

对此特定问题的任何帮助以及如何一般地解决Retrofit将不胜感激。

1 个答案:

答案 0 :(得分:0)

应该可以正常工作。 Retrofit负责&符号。

public interface WeatherAPI {
    @GET("/forecast/daily?")
    void getResponse(
                    @Query("city") String city,
                    @Query("country_code") int countryCode,
                    @Query("number_of_days") int number_of_days,
                    Callback<List<WeatherForecast>> response
    );    
}

我有一个像这样的API端点:

http://myserver.com/api/posts/?page_size=5&page=1

这是我的Retrofit界面方法:

@GET("/posts/")
void getPostPage(
                 @Query("page") int page,
                 @Query("page_size") int pageSize,
                 Callback<PostPage> callback
);