2016-11-08 9 views
0

私はretrofitライブラリを使用しています。私はOpenWeatherAPIから天気予報を取得したいと思います。リンクに変数を追加する方法

私はこれを持っています。

ベースURL:http://api.openweathermap.org/data/2.5/

@GET("weather?q=&units=&appid=" + API_KEY) 
Call<WeatherAPI> getWeatherCity(@Query("city") String city, @Query("units") String units); 

しかし、私は(私はそれを修復する方法がわからない)悪いURLを取得 -

応答{プロトコル= HTTP/1.1、コード= 502、メッセージを= Bad Gateway、 url = http://api.openweathermap.org/data/2.5/weather?q=&units=&appid=111111111111111111111111&city=&units=metric}

答えて

0

あなたの問題はURLにあります。 URLを破棄すると、エラーが表示されます。

だから我々は、URLの本体があります。その後、

http://api.openweathermap.org/data/2.5/weather

最初のparam

?q=をしかし、あなたは=の後に、それには何も追加haventは、ので、これはあなたの最初の問題です。その後、

:=の後に何も再び

&units=、これはあなたの次の問題です。その後、

&appid=111111111111111111111111このビットは結構です。その後、

:=の後

&city=再び何もありません。その後、

&units=metricこのビットは結構です。

問題はパラメータに値を渡していないためです。

+0

はい、その値をURLに渡す方法はありますか? – Stepan

+0

とプレーンテキストの場合は、 "?q = london"や変数と文字列連結で行うことができます。String place = "london"; "?q =" + place + "&city =" + .... – MichaelStoddart

+0

これは可能ですか? getWeatherCity(@Path( "city")文字列都市、@Path( "units")文字列単位); '@GET("天気?q = {都市}&単位= {単位}&appid = "+ API_KEY)それは私にエラーを与える – Stepan

関連する問題