コールインターフェイス: Android

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:2分
  • Call インターフェイスは、処理の準備が整った要求を表します。

    可能な処理オプションは次のとおりです。
    • cancel
    • エンキュー
    • execute
    • マップ

    呼び出しオブジェクトを 2 回処理することはできません。

    表 : 1. プロパティ
    名前 タイプ 説明
    リクエスト 要求 この呼び出しを開始した元の要求。

    呼び出し - cancel()

    可能な場合は、関連付けられたコールをキャンセルします (ベスト エフォート)。

    表 : 2. パラメーター
    名前 タイプ 説明
    なし
    表 : 3. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    private var inFlightDataRequestCall: Call<*>? = null 
    fun cancelTransfer() = inFlightDataRequestCall?.cancel() 

    呼び出し:enqueue(onSuccess: Consumer<Response<T>>, onError: Consumer<NowDataError>)

    システム\スレッドがこの要求を実行できるようになったらすぐに要求が実行されるようにスケジュールします。

    表 : 4. パラメーター
    名前 タイプ Description (説明)
    成功時 Consumer<Response<T>> 呼び出しが成功した場合に実行するコールバック。T パラメーターで指定されたデータ型に解析された本文を含む HTTP 応答。
    注:
    コンシューマーは、オブジェクトを非同期で使用するための OOB Java タイプです。この場合、呼び出しはジェネリックを使用して型 Response<T> を返します ( T はオブジェクト型です)。
    エラー時 Consumer<NowDataError> 呼び出しが失敗した場合に実行するコールバック。

    NowDataError

    表 : 5. 返される内容
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

    fun makeGraphQLRequest(query: String) { 
      val call = graphQLService.graphQLRequest(query) 
      call.enqueue( 
        { response -> handleResponse(response) }, 
        { nowDataError -> handleError(nowDataError) } 
      ) 
    } 

    呼び出し - execute()

    要求をすぐに呼び出します。応答が処理されるか、エラーになるまでブロックします。

    表 : 6. パラメーター
    名前 タイプ 説明
    なし
    表 : 7. 返される内容
    タイプ Description (説明)
    応答<T> Tパラメーターで定義された形式の応答データ。

    次のコード例は、この関数を呼び出す方法を示しています。

    val response = apiService.data(NowAPIService.Endpoint( 
      relativePath = CASES_API, 
      requestMethod = HttpMethod.GET, 
      requireAuth = true) 
    ).execute()