我正在使用 Retrofit 来与我的 REST API 进行交互,想知道是否有任何设计建议。
我的应用程序有以下几个包:
有什么想法吗?有什么建议?
我的应用程序有以下几个包:
- models
- services
- activities
- fragments
public interface FooService {
@FormUrlEncoded
@POST("foo/do")
@Headers("Content-Type: application/x-www-form-urlencoded; charset=UTF-8")
Call<FooBar> do();
}
模型包含不同的模型,例如FooBar。到目前为止,这与Retrofit文档完全一致。
我创建了一个API类,处理Retrofit构建逻辑(Retrofit retrofit = new Retrofit.Builder()
等),并公开了一个静态字段:retrofit。然后在我的活动中,我可以按以下方式执行请求:
FooService service = API.retrofit.create(FooService.class);
Call<FooBar> call = service.do();
try {
retrofit2.Response response = call.execute();
// ...do stuff...
} catch(IOException) {}
接下来是我的问题:是否更好地将上述内容进一步抽象化?这样我就不需要到处重复上述内容了吗?例如,像这样的东西:
MyOtherFooService service = new MyOtherFooService();
FooBar fooBar = service.do();
有什么想法吗?有什么建议?