Interface d’appel : Android
L’interface d’appel représente une demande préparée pour le traitement.
Les options de traitement possibles sont les suivantes :
- Annuler
- Enqueue
- exécuter
- 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. |
Appel : cancel()
Annule l’appel associé, si possible (dans la mesure du possible).
| Nom | Type | Description |
|---|---|---|
| Aucun |
| Type | Description |
|---|---|
| Aucun |
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 l’exécution de la demande dès que le système\thread est disponible pour exécuter cette demande.
| Nom | Type | Description |
|---|---|---|
| onSuccess | 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 générique pour renvoyer un type Response<T> où T est le type d’objet. |
| onError | Consommateur<NowDataError> | Rappel à exécuter en cas d’échec de l’appel. NowDataError |
| Type | Description |
|---|---|
| Aucun |
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) }
)
}
Appel : execute()
Invoque la demande immédiatement. Bloque jusqu’à ce que la réponse soit traitée ou soit erronée.
| 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()