Classe NowAPIService : iOS
La classe NowAPIService fournit des fonctions qui vous permettent d’effectuer des demandes à une API REST spécifiée ServiceNow .
| Nom | Type | Description |
|---|---|---|
| configuration | Configuration Now ServiceConfiguration | Configuration du service à associer au protocole. |
NowAPIService – data(for endpoint : NowAPIEndpoint, queryItems : [String : String], httpHeaders : [String : String], body : Data, completion : @escaping (Result<DataResponse, NowDataError>)
Demande des données de l’API REST spécifiée ServiceNow , puis exécute le gestionnaire de complétion.
| Nom | Type | Description |
|---|---|---|
| pour le point de terminaison | NowAPIEndpoint | Objet contenant le point de terminaison de l’API ServiceNow REST auquel accéder, y compris la méthode HTTP, le chemin relatif au point de terminaison, les paramètres du chemin d’accès et si l’authentification est requise. |
| Éléments de requête | Tableau | Facultatif. Interroger les paramètres du point de terminaison sous forme de paires clé/valeur. Valeur par défaut : nulle |
| httpHeaders (en-têtes http) | Tableau | Facultatif. Demander les en-têtes HTTP requis par le point de terminaison en tant que paires clé/valeur. Valeur par défaut : nulle |
| body | Chaîne | Facultatif. Paramètres du corps de la demande. Valeur par défaut : nulle |
| Achèvement | @escaping (Result<DataResponse, NowDataError>) | Gestionnaire de complétion à exécuter une fois l’appel d’API REST terminé. Valeurs de retour pour le gestionnaire de complétion :
|
| Type | Description |
|---|---|
| Néant |
L’exemple de code suivant montre comment appeler cette fonction.
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(for endpoint : NowAPIEndpoint, queryItems : [String : String], httpHeaders : [String : String], body : Data) async lève
Demande des données à partir de l’API REST spécifiée ServiceNow .
| Nom | Type | Description |
|---|---|---|
| pour le point de terminaison | NowAPIEndpoint | Objet contenant le point de terminaison de l’API ServiceNow REST auquelaccéder, y compris la méthode HTTP, le chemin relatif au point de terminaison, les paramètres du chemin d’accès et si l’authentification est requise. |
| Éléments de requête | Tableau | Facultatif. Interroger les paramètres du point de terminaison sous forme de paires clé/valeur. Valeur par défaut : nulle |
| httpHeaders (en-têtes http) | Tableau | Facultatif. Demander les en-têtes HTTP requis par le point de terminaison en tant que paires clé/valeur. Valeur par défaut : nulle |
| body | Chaîne | Facultatif. Request body parameters. Valeur par défaut : nulle |
| Type | Description |
|---|---|
| Réponse de données | Renvoyé lorsque la méthode réussit. Données de l’appel d’API REST. |
| Erreur NowDataError | Levée lorsque la méthode échoue.
|
Les exemples de code suivants montrent comment appeler cette méthode.
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 endpoint : NowAPIEndpoint, queryItems : [String : String] ? = nil, httpHeaders : [String : String] ? = nil, body : Data ? = nil)
Demande des données à partir de l’API REST spécifiée ServiceNow .
| Nom | Type | Description |
|---|---|---|
| pour le point de terminaison | NowAPIEndpoint | Objet contenant le point de terminaison de l’API ServiceNow REST auquel accéder, y compris la méthode HTTP, le chemin relatif au point de terminaison, les paramètres du chemin d’accès et si l’authentification est requise. |
| Éléments de requête | Tableau | Facultatif. Interroger les paramètres du point de terminaison sous forme de paires clé/valeur. Valeur par défaut : nulle |
| httpHeaders (en-têtes http) | Tableau | Facultatif. Demander les en-têtes HTTP requis par le point de terminaison en tant que paires clé/valeur. Valeur par défaut : nulle |
| body | Données | Facultatif. Paramètres du corps de la demande. Valeur par défaut : nulle |
| Type | Description |
|---|---|
| AnyPublisher<DataResponse, NowDataError> | Réussite : données renvoyées par l’API REST. Échec : NowDataError
|
L’exemple de code suivant montre comment appeler cette fonction.
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)
}