Interface d’appel - Android
L’interface d’appel représente une demande préparée en vue de son traitement.
Les options de traitement possibles sont les suivantes :
- annuler
- Enqueue
- execute
- carte
Un objet d’appel ne peut pas être traité deux fois.
| Nom | Type | Description |
|---|---|---|
| Demande | Demande | Demande d’origine à l’origine de cet appel. |
Appeler - cancel()
Annule l’appel associé, si possible (meilleur effort.)
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Néant |
L’exemple de code suivant montre comment appeler cette fonction.
private var inFlightDataRequestCall: Call<*>? = null
fun cancelTransfer() = inFlightDataRequestCall?.cancel()
Appel : enqueue(onSuccess : Consumer<Response<T>>, onError : Consumer<NowDataError>)
Planifie la demande à exécuter dès que le système\thread est disponible pour exécuter cette demande.
| Nom | Type | Description |
|---|---|---|
| onSuccess (en anglais seulement) | Consommateur<Réponse<T>> | Rappel à exécuter si l’appel réussit. Réponse HTTP avec le corps analysé selon le type de données spécifié par le T paramètre. Remarque : Consommateur est un type Java OOB pour la consommation asynchrone d’un objet. Dans ce cas, l’appel utilise generic pour renvoyer un type Response<T> où T est le type d’objet. |
| Onerror | Erreur Consumer<NowDataError> | Rappel à exécuter en cas d’échec de l’appel. Erreur NowDataError |
| Type | Description |
|---|---|
| Néant |
L’exemple de code suivant montre comment appeler cette fonction.
fun makeGraphQLRequest(query: String) {
val call = graphQLService.graphQLRequest(query)
call.enqueue(
{ response -> handleResponse(response) },
{ nowDataError -> handleError(nowDataError) }
)
}
Appeler - execute()
Invoque immédiatement la demande. Se bloque jusqu’à ce que la réponse soit traitée ou qu’elle comporte une erreur.
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Réponse <T> | Données de réponse au format défini dans le T paramètre. |
L’exemple de code suivant montre comment appeler cette fonction.
val response = apiService.data(NowAPIService.Endpoint(
relativePath = CASES_API,
requestMethod = HttpMethod.GET,
requireAuth = true)
).execute()