如何使用 Retrofit2 @POST

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

现在我正在使用这些 API

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

所以我已经在下面的代码工作

http://img2.mukewang.com/61cd799f0001f31708840232.jpg

这是我的基本网址:


Gson gson = new 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 作为参数传递?


附言。改造2


慕勒3428872
浏览 222回答 3
3回答

饮歌长啸

您可以使用@Query参数来提供任何参数,如@GET("weather")Call<WeatherEnt> getWeatherData(@Query("q") String query,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Query("units") String units,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Query("appid") String appid);并在调用此端点时在这些参数中传递 cityName 和其他值(就像您需要的那样)

Qyouu

谢谢大家。这是一个答案。@GET("weather") 调用 loadPhotoList(@Query("q") String cityName,@Query("appid") String appid);

白板的微信

你必须像这样改变你的第二种方法:@POST("http://api.openweathermap.org/data/2.5/weatherq={cityName}&appid=1273091827310988273")Call<Example> loadPhotoList(@Path("cityName") String cityName);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java