반환 결과 데이터 구성

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 5분
  • Mobile SDK내에서 REST 엔드포인트를 통해 인스턴스의 ServiceNow 데이터와 상호작용할 때 반환 결과에 다시 전달되는 데이터를 구성할 수 있습니다.

    FetchConfiguration API를 사용하여 다시 전달할 데이터를 구성합니다. 이 인터페이스를 사용하면 다음을 구성할 수 있습니다.
    • 테이블에서 반환할 특정 기록입니다.
    • 기록에서 반환할 특정 필드입니다.
    • 반환할 기록 수입니다.
    주:
    일반적으로 반환되는 필드를 결정할 때 특정 모델 유형에 대한 모든 CRUD 작업에 동일한 FetchConfiguration을 사용하려고 합니다. 최소한 모델의 필수 속성과 일치해야 하며, 그렇지 않으면 JSON 디코딩이 실패합니다.

    반환할 특정 기록 구성

    FetchConfiguration 호출 내의 필터 객체를 사용하면 인스턴스에서 ServiceNow 가져와 REST 엔드포인트에서 반환 결과로 다시 전달되는 기록에 대한 필터 및 정렬 요구 사항을 정의할 수 있습니다. 이 필터는 REST API 엔드포인트의 sysparm_query 매개변수에 전달됩니다. 자세한 내용은 테이블 API를 참조하세요.

    원하는 필터링 기능에 따라 두 가지 방법으로 Filter 객체를 초기화할 수 있습니다.
    1. 기준으로 필터링합니다. 이 필터를 사용하면 함께 "또는"로 결합된 하나 이상의 필터 기준을 기준으로 필터링할 수 있습니다.
      예를 들어 관리자에게 PTO를 소속 중인 직원 Abel Tuter가 있다고 가정해 보겠습니다. 담당자는 누구에게도 할당되지 않았거나 Abel Tuter에게 할당되지 않은 활성 인시던트가 있는지 파악하여 할당/재할당할 수 있기를 원합니다. 또한 동일한 목록에서 에스컬레이션이 높거나 지연된 모든 인시던트를 확인하여 이러한 인시던트도 해결하려고 합니다. 다음은 이 데이터를 얻는 데 필요한 필터를 생성하는 방법을 보여줍니다.
      val activeIncidents = BooleanSimpleCondition.conditionIs("active", true)
      val assignedToEmpty = StringSimpleCondition.isEmpty("assigned_to")
      val assignedToAbel = StringSimpleCondition.conditionIs("assigned_to", "Abel Tuter")
      
      val assignedToAbelOrEmpty =
        CompoundCondition(
        ConditionUtils.CompoundOperator.OR,
        listOf(assignedToEmpty, assignedToAbel))
      
      val needToReassign = Criteria().addConditions(listOf(activeIncidents,  
        assignedToAbelOrEmpty))
      
      val highEscelations = StringSimpleCondition.conditionIs("escalation", "2")
      val overdueEscelations = StringSimpleCondition.conditionIs("escalation", "3")
      
      val highOrOverdueEscelations =
        CompoundCondition(ConditionUtils.CompoundOperator.OR,
          listOf(highEscelations, overdueEscelations))
      
      val needToHandleEscalation =
        Criteria().addCondition(highOrOverdueEscelations)
      
      val myPrioritiesForTodayFilter = Filter(listOf(needToReassign,
        needToHandleEscalation))
      
      // Get record using filter
      val response = runCatching {
        getNowTableService()?.records(
          "sn_customerservice_case",
          FetchConfiguration(myPrioritiesForTodayFilter, 10)
        )?.execute()
      }

      이 유형의 필터링을 사용하려면 Filter(criteriaList: List<Criteria>, sortBy: List<Sort>? = null) 함수를 사용합니다.

    2. 키워드와 조건으로 필터링합니다. 이 필터를 사용하면 AND 또는 OR을 함께 지정할 수 있는 특정 키워드 및 조건을 기반으로 기록을 필터링할 수 있습니다.

      예:

      val keywords = "iOS 13 | iOS 14"
      val conditionA = BooleanSimpleCondition.conditionIs(testField, true)
      val conditionB = BooleanSimpleCondition.conditionIs(testField2, false)
      val sortA = Sort(testField, ConditionUtils.SortOperator.ORDER_ASC)
      val filter = Filter(conditions = listOf(conditionA, conditionB), keywords = keywords, sortBy = listOf(sortA))
      assertEquals(filter.query().second, "${conditionA.makeConditionQuery()}^${conditionB.makeConditionQuery()}^123TEXTQUERY321=$keywords^EQ^${sortA.makeSortQuery()}")

      이 유형의 필터링을 사용하려면 함수를 필터 - 필터(조건: 목록<조건>, 키워드: 문자열? = null, sortBy: 목록<정렬>? = null) 사용합니다.

    반환할 특정 필드 구성

    FetchConfiguration() 메서드 호출 내의 FieldReadConfiguration 개체를 사용하면 반환 결과에 다시 전달할 필드를 구성할 수 있습니다. 또한 반환된 필드의 형식/내용을 다음과 같이 구성할 수 있습니다.
    • 표시 값
    • 실제 값
    • 참조 링크 제외