如何使用Retrofit2 @POST

时间:2018-11-05 08:13:50

标签: java android retrofit2

我必须从此URL https://openweathermap.org/获取数据。

现在我正在使用这些API

http://api.openweathermap.org/data/2.5/weatherq=(cityname)&appid=(myAPIKEY)

所以我已经在下面使用此代码了

Click to see my code

这是我的基本网址:

  

Gson gson =新的GsonBuilder()。setDateFormat(“ yyyy-MM-dd'T'HH:mm:ssZ”)。create();

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://api.openweathermap.org/data/2.5/")
            .addConverterFactory(GsonConverterFactory.create(gson))
            .build();

有人知道如何将cityName作为参数传递吗?

Ps。翻新2

3 个答案:

答案 0 :(得分:2)

您可以使用 @Query 参数提供任何类似的参数

@GET("weather")
Call<WeatherEnt> getWeatherData(@Query("q") String query,
                                @Query("units") String units,
                                @Query("appid") String appid);

并在调用此终点时在这些参数中传递cityName和其他值(如需要)

答案 1 :(得分:0)

您必须像这样更改第二种方法:

@POST("http://api.openweathermap.org/data/2.5/weatherq={cityName}&appid=1273091827310988273")
Call<Example> loadPhotoList(@Path("cityName") String cityName);

答案 2 :(得分:0)

谢谢大家。 这是一个答案。

  

@GET(“天气”)       调用loadPhotoList(@Query(“ q”)字符串cityName,@ Query(“ appid”)字符串appid);