NowAPIService-Klasse: IOS
Die NowAPIService Die Klasse bietet Funktionen, mit denen Sie Anforderungen für einen angegebenen ausführen können ServiceNow REST-API.
| Name | Typ | Beschreibung |
|---|---|---|
| konfigurieren | NowServiceConfiguration | Servicekonfiguration, die dem Protokoll zugeordnet werden soll. |
NowAPIService – Data(for Endpunkt: NowAPIEndpoint, queryItems: [Zeichenfolge: Zeichenfolge], httpHeader: [Zeichenfolge: Zeichenfolge], Textkörper: Daten, Abschluss: @Escaping (Ergebnis<DataResponse, NowDataError>)
Fordert Daten von der angegebenen an ServiceNow REST-API und führt dann den Abschlusshandler aus.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Endpunkt | NowAPIEndpunkt | Objekt, das enthält ServiceNow REST-API-Endpunkt, auf den zugegriffen werden soll, einschließlich HTTP-Methode, relativem Pfad zum Endpunkt, Pfadparametern und ob Authentifizierung erforderlich ist. |
| QueryItems | Array | Optional. Abfrageparameter für den Endpunkt als Schlüssel-Wert-Paare. Standard: Nil |
| HTTP-Header | Array | Optional. Anforderungs-HTTP-Header, die vom Endpunkt als Schlüssel-Wert-Paare erforderlich sind. Standard: Nil |
| body | Zeichenfolge | Optional. Anforderungstext-Parameter. Standard: Nil |
| Abschluss | @Escaping (Result<DataResponse, NowDataError>) | Abschlusshandler, der nach Abschluss des REST-API-Aufrufs ausgeführt werden soll. Rückgabewerte für den Abschlusshandler:
|
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
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 – Daten (für Endpunkt: NowAPIEndpoint, queryItems: [Zeichenfolge: Zeichenfolge], httpHeader: [Zeichenfolge: Zeichenfolge], Textkörper: Daten) asynchrone Auslöse
Fordert Daten von der angegebenen an ServiceNow REST-API.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Endpunkt | NowAPIEndpunkt | Objekt, das enthält ServiceNow REST API-Endpunkt t o Zugriff, einschließlich HTTP-Methode, relativem Pfad zum Endpunkt, Pfadparametern und ob Authentifizierung erforderlich ist. |
| QueryItems | Array | Optional. Abfrageparameter Für den Endpunkt als Schlüssel-Wert-Paare. Standard: Nil |
| HTTP-Header | Array | Optional. Anforderungs-HTTP-Header, die für den Endpunkt als erforderlich sind Schlüssel-Wert-Paare . Standard: Nil |
| body | Zeichenfolge | Optional. Anforderungsbod y-Parameter rs. Standard: Nil |
| Typ | Beschreibung |
|---|---|
| Datenantwort | Wird zurückgegeben, wenn die Methode erfolgreich ist. Daten aus dem REST-API-Aufruf. |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
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(for Endpunkt: NowAPIEndpoint, queryItems: [Zeichenfolge: Zeichenfolge]? = Nil, httpHeader: [Zeichenfolge: Zeichenfolge]? = Nil, Textkörper: Daten? = Null)
Fordert Daten von der angegebenen an ServiceNow REST-API.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Endpunkt | NowAPIEndpunkt | Objekt, das enthält ServiceNow REST-API-Endpunkt, auf den zugegriffen werden soll, einschließlich HTTP-Methode, relativem Pfad zum Endpunkt, Pfadparametern und ob Authentifizierung erforderlich ist. |
| QueryItems | Array | Optional. Abfrageparameter für den Endpunkt als Schlüssel-Wert-Paare. Standard: Nil |
| HTTP-Header | Array | Optional. Anforderungs-HTTP-Header, die vom Endpunkt als Schlüssel-Wert-Paare erforderlich sind. Standard: Nil |
| body | Daten | Optional. Anforderungstext-Parameter. Standard: Nil |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<DataResponse, NowDataError> | Erfolg: Daten, die von der REST API zurückgegeben werden. Fehler: NowDataError
|
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
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)
}