NowGraphQLClasse de serviço - iOS
. NowGraphQLService A classe fornece funções que permitem que você faça solicitações usando consultas GraphQL em relação aos dados no ServiceNow instância por meio de seu GraphQL REST API.
| Nome | Tipo | Descrição |
|---|---|---|
| configuração | NowServiceConfiguration | Definições de configuração fornecidas quando o serviço foi inicializado. |
NowGraphQLService - execute(query: GraphQLQuery) lançamentos assíncronos
Executa a consulta GraphQL especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| consulta | Cadeia de caracteres | Consulta GraphQL a ser executada. |
| Tipo | Descrição |
|---|---|
| Dados | Retornado quando o método é bem-sucedido. Dados de consulta gerados a partir da consulta especificada. |
| NowDataError | Lançado quando o método falha.
|
O exemplo de código a seguir mostra como chamar este método.
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, conclusão: Escape (<Data, NowDataError>))
Executa a consulta GraphQL especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| consulta | Cadeia de caracteres | Consulta GraphQL a ser executada. |
| conclusão | Escape (<Data, NowDataError>) | Manipulador de conclusão a ser executado após a conclusão da consulta. Valores de retorno:
|
| Tipo | Descrição |
|---|---|
| Nenhum |
gqlService.execute(GraphQLQuery(query: myQuery)) { result in
switch result {
case .success(let data):
// use data
case .failure(let error):
// handle error
}
}
NowGraphQLService - init(configuração: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProviding)
Cria um NowGraphQLService com base nos parâmetros especificados.
| Nome | Tipo | Descrição |
|---|---|---|
| configuração | NowServiceConfiguration | Parâmetros de configuração a serem usados ao inicializar o serviço, como o ID do pacote da aplicação que se integra ao serviço e o URL do ServiceNow Instância que o NowGraphQLService deseja acessar. |
| CoreServiceProvider | NowCoreServiceProviding | Opcional. Provedor de serviço principal. Nota: Atualmente, este parâmetro é obrigatório, embora seja mostrado como opcional. Padrão: Nil |
NowGraphQLService - fornecedor(para consulta: GraphQLQuery)
Cria um fornecedor para solicitar dados GraphQL.
| Nome | Tipo | Descrição |
|---|---|---|
| para consulta | GraphQLQuery | Cadeia de caracteres de consulta GraphQL a ser executada. |
| Tipo | Descrição |
|---|---|
| AnyPublisher<Data, NowDataError> | Conjunto de dados GraphQL. NowDataError |
O exemplo de código a seguir mostra como chamar esta função.
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()
}