---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowAPIService 클래스 - iOS

# NowAPIService 클래스 - iOS {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 12분

NowAPIService 클래스는 지정된 ServiceNow REST API에 대한 요청을 수행할 수 있는 기능을 제공합니다.  
{#NowAPIServiceiOSAPI__table_vx2_klw_5pb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 구성 | [NowService구성](https://servicenow-prod.fluidtopics.net/M3IfRLAWtSzjLKNYBH_PRQ#NowServiceConfigurationiOSStruct "NowServiceConfiguration 구조는 기능 서비스에 대한 구성 정보를 정의합니다.") | 프로토콜과 연결할 서비스 구성입니다. |
[표 1. 속성]

{#NowAPIServiceiOSAPI__table_vx2_klw_5pb}

## NowAPIService - data(엔드포인트용: NowAPIEndpoint, queryItems: \[문자열: 문자열\], httpHeaders: \[문자열: 문자열\], 본문: 데이터, 완성: @escaping(결과\<DataResponse, NowDataError\>) {#ariaid-title2}

지정된 ServiceNow REST API에서 데이터를 요청한 다음 완성 핸들러를 실행합니다.
{#NAPIiOS-data_O_A_A_S_O__table_jck_kyp_5pb__entry__3}{#NAPIiOS-data_O_A_A_S_O__mobilesdkiOS-completion_data_dataerror-row}

| 이름 | 유형 | 설명 |
|-|-|-|
| 엔드포인트용 | [NowAPIEndpoint](https://servicenow-prod.fluidtopics.net/KAl3HpvgZWHye95_aF9hbg#NowAPIEndpointiOSProtocol "NowAPIEndpoint 프로토콜은 공개적으로 노출 ServiceNow 된 REST API에 액세스하기 위한 인터페이스를 제공합니다.") | HTTP 메서드, 엔드포인트의 ServiceNow 상대 경로, 경로 매개변수 및 인증 필요 여부를 포함하여 액세스할 REST API 엔드포인트를 포함하는 객체입니다. |
| queryItems | 배열 | 옵션입니다. 엔드포인트에 대한 쿼리 매개변수를 키/값 쌍으로 사용합니다. 기본값: nil |
| http헤더 | 배열 | 옵션입니다. 엔드포인트에 필요한 HTTP 헤더를 키/값 쌍으로 요청합니다. 기본값: nil |
| 본문 | 문자열 | 옵션입니다. 요청 본문 매개변수입니다. 기본값: nil |
| 완료 | @escaping(결과\<DataResponse, NowDataError\>) | REST API 호출이 완료된 후 실행할 완성 핸들러입니다. 완성 핸들러에 대한 반환 값: * 성공: REST API 호출에서 반환된 데이터를 포함하는 DataResponse입니다. * 실패: NowDataError * `accessToken(AccessTokenProviderError)` * AccessTokenProviderError: 액세스 토큰 제공자의 오류 코드 또는 메시지입니다. * accessTokenRetrievalFailed * userSessionError(_ error: Error) 접근 토큰에 오류가 있을 때 발생합니다. * `첨부 확인` 첨부 파일이 확인에 실패할 때 발생합니다. * `badResponse(statusCode: HTTPStatusCode)` * HTTPStatusCode: 인스턴스에서 받은 상태 코드입니다. 요청에서 예기치 않은 응답을 반환할 때 발생 * `cannotDecodeModel(DecodingError)` * DecodingError: 디코딩 오류가 탐지되었습니다. 코드화 가능한 모델을 JSON에서 디코딩할 수 없을 때 발생합니다. * `cannotDecodeProperty(type: Any, from: String)` * type: 문자열에서 디코딩할 래핑된 유형입니다. * from: 지정된 유형으로 디코딩할 문자열입니다. 문자열로 래핑된 값을 JSON에서 디코딩할 수 없을 때 발생합니다. * `cannotEncodeModel(EncodingError)` * EncodingError: 인코딩 오류가 탐지되었습니다. 코드 가능한 모델을 JSON으로 인코딩할 수 없는 경우 발생합니다. * `cannotParse응답` 인스턴스의 응답을 예상 형식으로 구문 분석할 수 없을 때 발생합니다. * `잘못된 URL` URL을 구성할 수 없을 때 발생합니다. 예를 들어 문자열에 URL에서 잘못된 문자가 포함되어 있거나 빈 문자열인 경우입니다. * `missingAttachmentMetadata` 첨부 파일 메타데이터 헤더가 누락되었을 때 발생 * `missingServiceConfiguration` 예상 서비스 구성이 누락될 때 발생합니다. * `MissingSysID` 예상 sys_id 매개변수가 누락되었을 때 발생합니다. * `네트워크(NetworkServiceError)` * genericError(문자열) * operationCanceled * serviceDisabled * serverError(오류) * systemError(오류) 네트워크 서비스에 오류가 발생할 때 발생합니다. {#NAPIiOS-data_O_A_A_S_O__NowDataErroriOS-ul-enum} {#NAPIiOS-data_O_A_A_S_O__ul_uzx_thj_ppb} |
[표 2. 매개변수]

{#NAPIiOS-data_O_A_A_S_O__table_jck_kyp_5pb} {#NAPIiOS-data_O_A_A_S_O__table_kck_kyp_5pb__entry__2}

| 유형 | 설명 |
|-|-|
| 없음 |   |
[표 3. 반환]

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

    struct Endpoint: NowAPIEndpoint {
      let httpMethod: HTTPMethod
      let relativePath: String
      let requiresAuthentication: Bool
    }

    /// HTTP request method
    public enum HTTPMethod: CaseIterable {
        case options, get, head, post, put, patch, delete, trace, connect
    }
    let relativePath = "/api/now/account"
    let endPoint = Endpoint(httpMethod: HTTPMethod.get, relativePath: relativePath, requiresAuthentication: true)

    apiService.data(for: endPoint, queryItems: ["name": "abel"], httpHeaders: httpHeaders, body: body.data(using: .utf8)) { [weak self] (result) in
      switch result {
        case .success(let response):
        // Data request successful
        case .failure(let error):
        // Data request failed, return NowDataError
        // .failure(error)
      }
    }

## NowAPIService - data(엔드포인트: NowAPIEndpoint, queryItems: \[String: String\], httpHeaders: \[String: String\], body: Data) 비동기 throw {#ariaid-title3}

지정된 ServiceNow REST API에서 데이터를 요청합니다.
{#NAPIiOS-data-async_O_A_A_S_O__table_jck_kyp_5pb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 엔드포인트용 | [NowAPIEndpoint](https://servicenow-prod.fluidtopics.net/KAl3HpvgZWHye95_aF9hbg#NowAPIEndpointiOSProtocol "NowAPIEndpoint 프로토콜은 공개적으로 노출 ServiceNow 된 REST API에 액세스하기 위한 인터페이스를 제공합니다.") | HTTP 메서드, 엔드포인트의 상대 경로, 경로 매개변수 및 인증 필요 여부를 포함하여 REST API 엔드포인트를 포함하는 ServiceNow 객체입니다. |
| queryItems | 배열 | 옵션입니다. 엔드포인트에 대한 쿼리 매개변수 를 키/값 쌍으로 사용합니다. 기본값: nil |
| http헤더 | 배열 | 옵션입니다. 엔드포인트에 필요한 HTTP 헤더를 키/값 쌍으로 요청합니다. 기본값: nil |
| 본문 | 문자열 | 옵션입니다. 요청 body parameters. 기본값: nil |
[표 4. 매개변수]

{#NAPIiOS-data-async_O_A_A_S_O__table_jck_kyp_5pb} {#NAPIiOS-data-async_O_A_A_S_O__table_kck_kyp_5pb__entry__2}

| 유형 | 설명 |
|-|-|
| 데이터 응답 | 메서드가 성공하면 반환됩니다. REST API 호출의 데이터입니다. |
| NowDataError | 메서드가 실패할 때 throw됩니다. * `accessToken(AccessTokenProviderError)` * AccessTokenProviderError: 액세스 토큰 제공자의 오류 코드 또는 메시지입니다. * accessTokenRetrievalFailed * userSessionError(_ error: Error) 접근 토큰에 오류가 있을 때 발생합니다. * `첨부 확인` 첨부 파일이 확인에 실패할 때 발생합니다. * `badResponse(statusCode: HTTPStatusCode)` * HTTPStatusCode: 인스턴스에서 받은 상태 코드입니다. 요청에서 예기치 않은 응답을 반환할 때 발생 * `cannotDecodeModel(DecodingError)` * DecodingError: 디코딩 오류가 탐지되었습니다. 코드화 가능한 모델을 JSON에서 디코딩할 수 없을 때 발생합니다. * `cannotDecodeProperty(type: Any, from: String)` * type: 문자열에서 디코딩할 래핑된 유형입니다. * from: 지정된 유형으로 디코딩할 문자열입니다. 문자열로 래핑된 값을 JSON에서 디코딩할 수 없을 때 발생합니다. * `cannotEncodeModel(EncodingError)` * EncodingError: 인코딩 오류가 탐지되었습니다. 코드 가능한 모델을 JSON으로 인코딩할 수 없는 경우 발생합니다. * `cannotParse응답` 인스턴스의 응답을 예상 형식으로 구문 분석할 수 없을 때 발생합니다. * `잘못된 URL` URL을 구성할 수 없을 때 발생합니다. 예를 들어 문자열에 URL에서 잘못된 문자가 포함되어 있거나 빈 문자열인 경우입니다. * `missingAttachmentMetadata` 첨부 파일 메타데이터 헤더가 누락되었을 때 발생 * `missingServiceConfiguration` 예상 서비스 구성이 누락될 때 발생합니다. * `MissingSysID` 예상 sys_id 매개변수가 누락되었을 때 발생합니다. * `네트워크(NetworkServiceError)` * genericError(문자열) * operationCanceled * serviceDisabled * serverError(오류) * systemError(오류) 네트워크 서비스에 오류가 발생할 때 발생합니다. {#NAPIiOS-data-async_O_A_A_S_O__NowDataErroriOS-ul-enum} |
[표 5. 반환]

{#NAPIiOS-data-async_O_A_A_S_O__table_kck_kyp_5pb}  
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.

    do {
        let dataResponse = try await apiService.data(for: endpoint, queryItems: queryItems, httpHeaders: httpHeaders, body: body)
        // Data request successful
    } catch {
        // Data request failed, NowDataError thrown
    }

## NowAPIService - data(엔드포인트: NowAPIEndpoint, queryItems: \[String: String\]? = nil, httpHeaders: \[String: String\]? = nil, body: Data? = nil) {#ariaid-title4}

지정된 ServiceNow REST API에서 데이터를 요청합니다.
주:  
이 방법은 더 이상 사용되지 않습니다. 대신 메서드의 async/await 구현을 사용해야 합니다.
{#NAPIiOS-data_O_A_A_S__table_sfb_5tp_5pb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 엔드포인트용 | [NowAPIEndpoint](https://servicenow-prod.fluidtopics.net/KAl3HpvgZWHye95_aF9hbg#NowAPIEndpointiOSProtocol "NowAPIEndpoint 프로토콜은 공개적으로 노출 ServiceNow 된 REST API에 액세스하기 위한 인터페이스를 제공합니다.") | HTTP 메서드, 엔드포인트의 ServiceNow 상대 경로, 경로 매개변수 및 인증 필요 여부를 포함하여 액세스할 REST API 엔드포인트를 포함하는 객체입니다. |
| queryItems | 배열 | 옵션입니다. 엔드포인트에 대한 쿼리 매개변수를 키/값 쌍으로 사용합니다. 기본값: nil |
| http헤더 | 배열 | 옵션입니다. 엔드포인트에 필요한 HTTP 헤더를 키/값 쌍으로 요청합니다. 기본값: nil |
| 본문 | 데이터 | 옵션입니다. 요청 본문 매개변수입니다. 기본값: nil |
[표 6. 매개변수]

{#NAPIiOS-data_O_A_A_S__table_sfb_5tp_5pb} {#NAPIiOS-data_O_A_A_S__table_tfb_5tp_5pb__entry__2}

| 유형 | 설명 |
|-|-|
| AnyPublisher\<DataResponse, NowDataError\> | 성공: REST API에서 반환된 데이터입니다. 실패: NowDataError * `accessToken(AccessTokenProviderError)` * AccessTokenProviderError: 액세스 토큰 제공자의 오류 코드 또는 메시지입니다. * accessTokenRetrievalFailed * userSessionError(_ error: Error) 접근 토큰에 오류가 있을 때 발생합니다. * `첨부 확인` 첨부 파일이 확인에 실패할 때 발생합니다. * `badResponse(statusCode: HTTPStatusCode)` * HTTPStatusCode: 인스턴스에서 받은 상태 코드입니다. 요청에서 예기치 않은 응답을 반환할 때 발생 * `cannotDecodeModel(DecodingError)` * DecodingError: 디코딩 오류가 탐지되었습니다. 코드화 가능한 모델을 JSON에서 디코딩할 수 없을 때 발생합니다. * `cannotDecodeProperty(type: Any, from: String)` * type: 문자열에서 디코딩할 래핑된 유형입니다. * from: 지정된 유형으로 디코딩할 문자열입니다. 문자열로 래핑된 값을 JSON에서 디코딩할 수 없을 때 발생합니다. * `cannotEncodeModel(EncodingError)` * EncodingError: 인코딩 오류가 탐지되었습니다. 코드 가능한 모델을 JSON으로 인코딩할 수 없는 경우 발생합니다. * `cannotParse응답` 인스턴스의 응답을 예상 형식으로 구문 분석할 수 없을 때 발생합니다. * `잘못된 URL` URL을 구성할 수 없을 때 발생합니다. 예를 들어 문자열에 URL에서 잘못된 문자가 포함되어 있거나 빈 문자열인 경우입니다. * `missingAttachmentMetadata` 첨부 파일 메타데이터 헤더가 누락되었을 때 발생 * `missingServiceConfiguration` 예상 서비스 구성이 누락될 때 발생합니다. * `MissingSysID` 예상 sys_id 매개변수가 누락되었을 때 발생합니다. * `네트워크(NetworkServiceError)` * genericError(문자열) * operationCanceled * serviceDisabled * serverError(오류) * systemError(오류) 네트워크 서비스에 오류가 발생할 때 발생합니다. {#NAPIiOS-data_O_A_A_S__NowDataErroriOS-ul-enum} |
[표 7. 반환]

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

    struct Endpoint: NowAPIEndpoint {
        let httpMethod: HTTPMethod
        let relativePath: String
        let requiresAuthentication: Bool
    }

    /// HTTP request method
    public enum HTTPMethod: CaseIterable {
        case options, get, head, post, put, patch, delete, trace, connect
    }
    let relativePath = "/api/now/account"
    let endPoint = Endpoint(httpMethod: HTTPMethod.get, relativePath: relativePath, requiresAuthentication: true)

    // Using Combine
    apiService.data(for: Endpoint(httpMethod: httpMethod, relativePath: endpointPath, requiresAuthentication: requiresAuthentication), queryItems: queryItems, httpHeaders: httpHeaders, body: body.data(using: .utf8))
      .receive(on: DispatchQueue.main)
      .sink { [weak self] (comp) in
        if case let .failure(error) = comp {
          // Data request failed, return NowDataError
        }
      } receiveValue: { [weak self] (response) in
        // Data request successful
        self?.publish(data: response.data)
      }
      .store(in: &self.subscriptions)
    }


