使用相同的api地址执行两种不同的方法

时间:2019-05-15 12:43:19

标签: java android api retrofit2

我有一个带有我自己的基本URL的改进类,在api服务接口中,我的方法之一有效,但第二个方法无效,看来我不允许使用具有相同地址的两个GET响应,但是我需要这个主题。 我执行了第一个方法(getTextChar)并正常工作

Api服务界面

公共接口ApiService {

@GET("1e3b4e")
Single<Word> getTextChar();

@GET("1e3b4e")
Single<Word> getTenMultiple();

}

CloudDataSource类

公共类EnglishCloudyDataSource扩展了RetrofitBase {

private ApiService apiService;


public EnglishCloudyDataSource() {
    super();
    apiService = retrofit.create(ApiService.class);
}


@Override
public Single<Word> getCharText() {
    return apiService.getTextChar();
}

@Override
public Single<Word> getMultipleTen() {
    return apiService.getTenMultiple();
}

NewsRepository类

公共类NewsRepository实现NewsDataSource {

private RetrofitBase retrofitBase;

public NewsRepository() {
    retrofitBase=new EnglishCloudyDataSource();
}


@Override
public Single<Word> getCharText() {
    return retrofitBase.getCharText();
}

@Override
public Single<Word> getMultipleTen() {
    return retrofitBase.getMultipleTen();
}

}

改装类

公共抽象类RetrofitBase实现NewsDataSource {

protected Retrofit retrofit;

public RetrofitBase() {

    retrofit = new Retrofit.Builder()
            .baseUrl("https://api.myjson.com/bins/")
            .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
            .addConverterFactory(GsonConverterFactory.create())
            .build();

}

}

0 个答案:

没有答案