통화 인터페이스 - Android

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기2분
  • 호출 인터페이스는 처리를 위해 준비된 요청을 나타냅니다.

    가능한 처리 옵션은 다음과 같습니다.
    • cancel
    • 실행

    호출 개체는 두 번 처리할 수 없습니다.

    표 1. 속성
    이름 유형 설명
    요청 요청 이 호출을 시작한 원래 요청입니다.

    호출 - cancel()

    가능한 경우 관련 호출을 취소합니다(최선의 노력).

    표 2. 매개변수
    이름 유형 설명
    없음
    표 3. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

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

    호출 - enqueue(onSuccess: Consumer<Response<T>>, onError: Consumer<NowDataError>)

    시스템\스레드가 이 요청을 실행할 수 있게 되는 즉시 요청이 실행되도록 예약합니다.

    표 4. 매개변수
    이름 유형 설명
    onSuccess (영문) 소비자<응답<T>> 호출이 성공하면 실행할 콜백입니다. 매개 변수로 지정된 데이터 형식으로 구문 분석된 본문이 있는 HTTP 응답입니다 T .
    주:
    소비자는 객체의 비동기 사용을 위한 OOB Java 유형입니다. 이 경우 호출은 제네릭을 사용하여 Response<T 형식을 반환하며> 여기서 T 는 개체 형식입니다.
    onError Consumer<NowDataError> 호출이 실패할 경우 실행할 콜백입니다.

    NowDataError

    표 5. 반환
    유형 설명
    없음

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

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

    호출 - execute()

    요청을 즉시 호출합니다. 응답이 처리되거나 오류가 발생할 때까지 차단됩니다.

    표 6. 매개변수
    이름 유형 설명
    없음
    표 7. 반환
    유형 설명
    응답<T> 매개변수에 정의된 형식의 응답 데이터입니다 T .

    다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

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