当前位置:  开发笔记 > 编程语言 > 正文

API接口不得扩展其他接口Retrofit 2

如何解决《API接口不得扩展其他接口Retrofit2》经验,为你挑选了1个好方法。

我正在使用Retrofit 2 beta 2的下一个问题:

java.lang.IllegalArgumentException: API interfaces must not extend other interfaces.

这是因为我有一个用于Retrofit API的接口,如下所示:

public interface RetrofitBaseAPI {

    @POST
    Call login(@Url String url, @Body LoginReq loginReq);

    @POST
    Call logout(@Url String url, @Header("Cookie") String sid);
}

例如,其中一个就是这个:

public interface RetrofitWiserLinkAPI extends RetrofitBaseAPI {

    @GET("/rs/DeviceIdentification")
    Call getDeviceIdentification(@Header("Cookie") String sid);
}

然后,我有三个其他接口,其中三个从这个RetrofitBaseAPI接口扩展.

当我尝试使用给定的接口调用retrofit.create(Class类)时,我总是收到此错误.

据我所知,唯一的解决方案是创建三个独立的接口.这是真的吗?有谁知道另一个解决方案?

我觉得有点奇怪,我们需要重复代码,但是,也许有一个我不理解的原因.....

提前致谢!

谢谢,

编辑:使用最终的Retrofit 2发布版本的相同问题.我想这是Retrofit的限制....



1> naXa..:

它不可能有一个基本的Retrofit接口.

杰克沃顿:

改造有利于构成而不是继承.每个服务一个接口.

正如您已经发现的那样,唯一的解决方案是创建三个独立的接口.


多么可怜: - /
推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有