java – Android Retrofit:缺少方法体,或声明抽象
发布时间:2020-12-15 04:46:07 所属栏目:Java 来源:网络整理
导读:我正在编写一个 Android应用程序,它将使用Retrofit来发出API请求. 我有一个这样的助手类: public class ApiService { public static final String TAG = ApiService.class.getSimpleName(); public static final String BASE_URL = "https://myapiurl.com";
我正在编写一个
Android应用程序,它将使用Retrofit来发出API请求.
我有一个这样的助手类: public class ApiService { public static final String TAG = ApiService.class.getSimpleName(); public static final String BASE_URL = "https://myapiurl.com"; public static void testApi(){ ApiEndpointInterface apiService = prepareService(); apiService.ping(new Callback<Response>() { @Override public void success(Response apiResponse,retrofit.client.Response response) { Log.e(TAG,apiResponse.toString()); } @Override public void failure(RetrofitError error) { Log.e("Retrofit:",error.toString()); } }); } private static ApiEndpointInterface prepareService() { RestAdapter restAdapter = new RestAdapter.Builder() .setEndpoint(BASE_URL) .build(); ApiEndpointInterface apiService = restAdapter.create(ApiEndpointInterface.class); restAdapter.setLogLevel(RestAdapter.LogLevel.FULL); return apiService; } } 我实际的Retrofit实现很简单: public class ApiEndpointInterface { @GET("/v1/myendpoint") void ping(Callback<Response> cb); } 问题是,我无法构建项目,我收到错误: Error:(12,10) error: missing method body,or declare abstract 参考我的ApiEndpointInterface类. 知道发生了什么事吗? 解决方法
尝试使用公共接口进行API声明.
public interface ApiEndpointInterface { @GET("/v1/myendpoint") void ping(Callback<Response> cb); } 此外,在告知构建器将日志级别设置为完全之前,您似乎正在创建ApiEndpointInterface. private static ApiEndpointInterface prepareService() { RestAdapter restAdapter = new RestAdapter.Builder() .setEndpoint(BASE_URL) .setLogLevel(RestAdapter.LogLevel.FULL); .build(); ApiEndpointInterface apiService = restAdapter.create(ApiEndpointInterface.class); return apiService; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |