我正在尝试从我的 android 应用程序调用一个自定义 API,它将返回一个 JSON 对象(据我所知,在这种情况下,Retrofit 会将其映射为所需的数据类型,即 String,如果我是,请纠正我错误的)。所以问题是当我尝试进行 API 调用时,服务器根本没有收到任何东西。不知道如何隔离错误。在此之前我没有改造经验。
另外,我被告知要通过 body 发出 post 请求。不确定定义我的界面意味着什么。对此的任何建议将不胜感激。
这是主要活动的代码:
RestAdapter adap = new RestAdapter.Builder().setEndpoint(Endpoint).build();
OnLoginAPI loginAPICalls = adap.create(OnLoginAPI.class);
loginAPICalls.userloginCredentials(userCredentails.get(0), userCredentails.get(1), new Callback<String>() {
@Override
public void success(String APIresponse, Response response) {
status = APIresponse;
}
@Override
public void failure(RetrofitError error) {
status = "API Error";
}
});
return status;
这是我的界面:
public interface OnLoginAPI {
@POST("/v1/login")
public void userloginCredentials(
@Field("username") String username,
@Field("password") String password,
Callback<String> response);
}
这是 logcat 日志:
09-20 12:41:27.165 721-802/? W/AlarmManager﹕ FACTORY_ON= 0
09-20 12:41:27.165 721-802/? D/LightsService﹕ [SvcLED] SvcLEDTask
09-20 12:41:27.175 721-803/? D/BatteryService﹕ turn on LED for charging
09-20 12:41:27.185 721-738/? D/SensorManager﹕ registerListener :: handle = 7 name= GP2A Light Sensor delay= 200000 Listener= com.android.server.LightsService$4@4259fcc8
09-20 12:41:27.185 721-738/? D/LightsService﹕ [SvcLED] SvcLEDReceiver::isHappyNight = false
09-20 12:41:27.385 721-802/? D/SensorManager﹕ unregisterListener:: Listener= com.android.server.LightsService$4@4259fcc8
09-20 12:41:27.385 721-802/? D/LightsService﹕ [SvcLED] onSensorChanged::light value = 652.0
09-20 12:41:27.395 721-802/? I/LightsService﹕ fileWriteInt : /sys/class/sec/led/led_lowpower value : 0
09-20 12:41:27.395 721-802/? D/LightsService﹕ setLightLocked is called
09-20 12:41:28.897 183-183/? E/SMD﹕ DCD ON
09-20 12:41:31.900 183-183/? E/SMD﹕ DCD ON