NowGraphQLService-Klasse – iOS
Die NowGraphQLService Die Klasse bietet Funktionen, mit denen Sie Anforderungen mithilfe von GraphQL-Abfragen für Daten auf Ihrem stellen können ServiceNow Instanz über ITS GraphQL REST-API.
| Name | Typ | Beschreibung |
|---|---|---|
| konfigurieren | NowServiceConfiguration | Konfigurationseinstellungen, die bei der Initialisierung des Service bereitgestellt wurden. |
NowGraphQLService: Asynchrone Auslöse von Execute(query: GraphQLQuery)
Führt die angegebene GraphQL-Abfrage aus.
| Name | Typ | Beschreibung |
|---|---|---|
| query | Zeichenfolge | Auszuführende GraphQL-Abfrage. |
| Typ | Beschreibung |
|---|---|
| Daten | Wird zurückgegeben, wenn die Methode erfolgreich ist. Abfragedaten, die aus der angegebenen Abfrage generiert wurden. |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
private func fetchArticles() async throws -> [Article] {
guard let graphQLService = graphQLService else {
throw ArticleListError.invalidGraphQLService
}
do {
let data = try await graphQLService.execute(GraphQLQuery(query: recentlyPublishedQuery))
let articles = try dataToArticleList(data)
} catch let error as NowDataError {
throw ArticleListError.fetchError(error)
} catch {
throw error
}
}
private let recentlyPublishedQuery =
"""
{
GlideRecord_Query {
kb_knowledge(queryConditions: "active=true^ORDERBYpublishedDESC" pagination: { limit: 10, offset: 0 }) {
_results {
sys_id {
value
},
number {
displayValue
},
short_description {
displayValue
},
author {
displayValue
}
published {
displayValue
}
}
}
}
}
"""
NowGraphQLService – EXECUTE(query: GraphQLQuery, Abschluss: @Escaping (Result<Data, NowDataError>))
Führt die angegebene GraphQL-Abfrage aus.
| Name | Typ | Beschreibung |
|---|---|---|
| query | Zeichenfolge | Auszuführende GraphQL-Abfrage. |
| Abschluss | @Escaping (Result<Data, NowDataError>) | Abschlusshandler, der nach Abschluss der Abfrage ausgeführt werden soll. Rückgabewerte:
|
| Typ | Beschreibung |
|---|---|
| Keine |
gqlService.execute(GraphQLQuery(query: myQuery)) { result in
switch result {
case .success(let data):
// use data
case .failure(let error):
// handle error
}
}
NowGraphQLService – init(Konfiguration: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProviding)
Erstellt einen NowGraphQLService basierend auf den angegebenen Parametern.
| Name | Typ | Beschreibung |
|---|---|---|
| konfigurieren | NowServiceConfiguration | Konfigurationsparameter, die bei der Initialisierung des Service verwendet werden sollen, z. B. die Paket-ID der Anwendung, die in den Service integriert wird, und die URL des ServiceNow Instanz, auf die der NowGraphQLService zugreifen möchte. |
| CoreServiceProvider | Now CoreServiceProviding | Optional. Core-Service Provider. Hinweis: Derzeit ist dieser Parameter erforderlich, auch wenn er als optional angezeigt wird. Standard: Nil |
NowGraphQLService – Herausgeber (für Abfrage: GraphQLQuery)
Erstellt einen Herausgeber, um GraphQL-Daten anzufordern.
| Name | Typ | Beschreibung |
|---|---|---|
| Für Abfrage | GraphQLQuery | Auszuführende GraphQL-Abfragezeichenfolge. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Data, NowDataError> | Erfolg: GraphQL-Datensatz. Fehler: NowDataError |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
private func fetchArticles() -> AnyPublisher<[Article], ArticleListError> {
guard let graphQLService = graphQLService else {
return Fail(error: .invalidGraphQLService).eraseToAnyPublisher()
}
return graphQLService.publisher(for: GraphQLQuery(query: recentlyPublishedQuery))
.mapError({ dataError -> ArticleListError in
.fetchError(dataError)
})
.flatMap(dataToArticleList)
.eraseToAnyPublisher()
}