0
改造2を使用して天気アプリを作成しようとしていますが、今度は正しく呼び出しを設定するために苦労します。ここで 改造パラメータを正しく設定するには
が働いているURLです:だからhttp://api.openweathermap.org/data/2.5/weather?q=London&APPID=MY_API_KEY
を、私は私のAPIキーとBASEのURLを持っている:http://api.openweathermap.org。これは私のレトロフィットサービスのメソッドです:
@GET("/data/2.5/weather?q={city}/&APPID={api}")
Observable<WeatherResponse> getWeather(@Path("city") String city, @Path("api") String api);
そして私が得るエラーは次のとおりです:
java.lang.IllegalArgumentException:URLクエリ文字列 "q = {city}/& APPID = {api}"はブロックを置き換えてはいけません。動的クエリパラメータの場合は@Queryを使用します。
は、だから私はこのように試してみました:
@GET("/data/2.5/weather?{city}/&APPID={api}")
Observable<WeatherResponse> getWeather(@Query("city") String city, @Path("api") String api);
そして、私は同じエラーを取得...誰もが私のURLが間違って何、契約はここで何を知っていますか?あなたが唯一のパラメータ名は
今
私はこのエラーを取得しているか、それを伝える必要があります -
手動で入れレトロフィットの値をparamsはする必要はありません:java.langのを – joe
申し訳ありませんが、私の間違い - あなたがリクエストしたクエリアノテーションのみが必要です。 '/ get/users/1/info'のようなリクエストの途中にパラメータを挿入する場合に使用されます - 1がidで、RetrofitでPath(" id "):'/get/users/{id}/info' –
Riiight ... Tnx man! – joe