Ich arbeite an einer Android-Anwendung, die Retrofit verwendet, um einen erholsamen Client zu erstellen. Um Netzwerkaufrufe zu debuggen, möchte ich die URL anzeigen oder ausgeben lassen, die tatsächlich aufgerufen wird. Gibt es eine Möglichkeit, dies zu tun? Ich habe unten einen Code eingefügt, der zeigt, wie die App derzeit mit Retrofit arbeitet.@GET nachrüsten - wie wird der Anfrage-String angezeigt?
Client-Interface-Definition:
import retrofit.Callback;
import retrofit.http.Body;
import retrofit.http.GET;
import retrofit.http.Headers;
import retrofit.http.POST;
import retrofit.http.Path;
// etc...
public interface MyApiClient {
@Headers({
"Connection: close"
})
@GET("/{userId}/{itemId}/getCost.do")
public void get(@Path("userId") String userId, @Path("itemId") String userId, Callback<Score> callback);
//....etc
}
Dienst, der Client generiert verwendet:
// etc...
import javax.inject.Inject;
import retrofit.Callback;
import retrofit.RetrofitError;
import retrofit.client.Response;
@Inject
MyApiClient myApiClient;
// etc...
myApiClient.getCost(myId, itemId, new Callback<Cost>() {
@Override
public void success(Cost cost, Response response) {
Log.d("Success: %s", String.valueOf(cost.cost));
if (cost.cost != -1) {
processFoundCost(cost);
} else {
processMissingCost(itemId);
}
stopTask();
}
@Override
public void failure(RetrofitError error) {
handleFailure(new CostFailedEvent(), null);
}
});
}
Danke! Ich wünschte, ich könnte beide Antworten akzeptieren. –
Ich habe ihn aufgewertet, es ist fair: D froh, ich könnte helfen – EpicPandaForce