Interface d’appel - Android

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 1 minute de lecture
  • 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.

    Tableau 1. Propriétés
    Nom Type Description
    Demande Demande Demande d’origine à l’origine de cet appel.

    Appeler - cancel()

    Annule l’appel associé, si possible (meilleur effort.)

    Tableau 2. Paramètres
    Nom Type Description
    Aucun
    Tableau 3. Renvoie
    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&lt;Response&lt;T>>, onError : Consumer&lt;NowDataError>)

    Planifie la demande à exécuter dès que le système\thread est disponible pour exécuter cette demande.

    Tableau 4. Paramètres
    Nom Type Description
    onSuccess (en anglais seulement) Consommateur&lt;Réponse&lt;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&lt;T>T est le type d’objet.
    Onerror Erreur Consumer&lt;NowDataError> Rappel à exécuter en cas d’échec de l’appel.

    Erreur NowDataError

    Tableau 5. Renvoie
    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.

    Tableau 6. Paramètres
    Nom Type Description
    Aucun
    Tableau 7. Renvoie
    Type Description
    Réponse &lt;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()