java - Android Retrofit: missing method body, or declare abstract -
i writing android app use retrofit make api requests.
i have helper class this:
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; } }
and actual retrofit implementation simple:
public class apiendpointinterface { @get("/v1/myendpoint") void ping(callback<response> cb); }
the problem is, cannot build project, error:
error:(12, 10) error: missing method body, or declare abstract
referring apiendpointinterface class.
any idea what's going on?
try public interface
api declaration.
public interface apiendpointinterface { @get("/v1/myendpoint") void ping(callback<response> cb); }
also, looks you're creating apiendpointinterface before telling builder set log level full.
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; }
Comments
Post a Comment