私はアンドロイドとRESTクライアントが初めてです。私は、APIと通信するためのアプリケーションを構築するためにレトロフィットを使用しています。Retrofitでは、インターフェイスごとに1つの方法を使用する理由
多くのチュートリアルでは、インターフェイスごとに1つのメソッドを宣言することが推奨されています(多くのメソッドは多くのインターフェイスを意味します)。
例:2つのメソッド、GET、POSTが必要な場合。私は2つのインターフェイスが必要になります。
public interface GetService {
@GET("/abc/xyz")
Call <ABC> getService();
}
public interface PostService {
@POST("/abc/def")
Call<XYZ> postServer(@Body XYZ content);
}
とmain_activityに私は
//call get
GetService get = ServiceGenerator.createService(GetService.class);
ABC call1 = get.getService();
//call post
PostService post = ServiceGenerator.createService(PostService.class);
XYZ call2 = post.postService();
を呼び出す必要がありますが、なぜ私はこのような1つのインターフェイスだけを持つことはできません。
public interface APIInterface {
@GET("/abc/xyz")
Call <ABC> getService();
@POST("/abc/def")
Call<XYZ> postServer(@Body XYZ content);
}
と中をMain_Activity、私は以下を行う必要があります:
APIInterface api = ServiceGenerator.createService(APIInterface.class);
ABC call1 = api.getService();
XYZ call2 = api.postServer();
あなたは物事を混同している可能性はありますか?そこにラムダを使うことができるので、たった一つのメソッドで簡単なインターフェースを持つのは良いことです。しかしそれはまだユースケース自体に関係しています。インターフェイスに複数のメソッドを持つことをお勧めしたい場合は、複数のメソッドをそこに配置してください。 – tynn