0
中央銀行から為替レートを取得しようとしています。残念ながら、JSONでデータを提供できるapiはありません。 XMLでのみ。私はretrogit 2を使用しています。私は既にXMLを記述する2つのクラスを作成しました。これはWebサイトから取得したものです。しかし、私がコールバックの応答を取得しようとすると、私は404エラーコードを得ました。たぶん私の@GET
メソッドが正しくないのでしょうか?私を助けてください!Retrofit 2を使用してXMLを解析する
最初のXMLフラグメント。それは日の通貨の配列が含まれています
<ValCurs Date="14.01.2017" name="Foreign Currency Market">
<Valute ID="R01010">
<NumCode>036</NumCode>
<CharCode>AUD</CharCode>
<Nominal>1</Nominal>
<Name>Австралийский доллар</Name>
<Value>44,5156</Value>
</Valute>
そして、ここでは私のインターフェイスです:
public interface CbClient {
@GET("/XML_daily.asp")
Call<ValuteOnDate> getValuteOnDate();
}
とサービスジェネレータクラス:...
public class ServiceGenerator {
public static final String API_BASE_URL = "http://www.cbr.ru/scripts/";
private static OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
private static Retrofit.Builder builder = new Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(SimpleXmlConverterFactory.create());
public static <S> S createService(Class<S> serviceClass) {
Retrofit retrofit = builder.client(httpClient.build()).build();
return retrofit.create(serviceClass);
}
}
そして、ここではMainActivityクラスです: ...
エラーメッセージを投稿できますか? @GET( "/ XML_daily.asp")の先頭のスラッシュを削除する –
はい。既にそれを修正しました。それは問題でした。あなたが答えとしてあなたのコメントを投稿するなら、私はそれを受け入れるでしょう。 – Kroha