Classe NowAPIService - iOS
A classe NowAPIService fornece funções que permitem executar solicitações para uma REST API ServiceNow especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| configuração | NowServiceConfiguration | Configuração de serviço a ser associada ao protocolo. |
NowAPIService - dados (para endpoint: NowAPIEndpoint, queryItems: [String: String], httpHeaders: [String: String], corpo: Data, conclusão: @escaping (Resultado<DataResponse, NowDataError> )
Solicita dados da REST API ServiceNow especificada e executa o manipulador de conclusão.
| Nome | Tipo | Descrição |
|---|---|---|
| para endpoint | NowAPIEndpoint | Objeto que contém o endpoint da REST API ServiceNow a ser acessado, incluindo o método HTTP, o caminho relativo para o endpoint, os parâmetros de caminho e se a autenticação é necessária. |
| itens de consulta | Matriz | Opcional. Parâmetros de consulta para o endpoint como pares de chave/valor. Padrão: nulo |
| httpcabeçalhos | Matriz | Opcional. Solicite cabeçalhos HTTP exigidos pelo endpoint como pares de chave/valor. Padrão: nulo |
| corpo | Cadeia de caracteres | Opcional. Parâmetros do corpo da solicitação. Padrão: nulo |
| conclusão | @escaping (resultado<DataResponse, NowDataError> ) | Manipulador de conclusão a ser executado após a conclusão da chamada de REST API. Retornar valores para o manipulador de conclusão:
|
| Tipo | Descrição |
|---|---|
| Nenhum |
O exemplo de código a seguir mostra como chamar esta função.
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 - dados (para endpoint: NowAPIEndpoint, queryItems: [String: String], httpHeaders: [String: String], corpo: Data) lançamentos assíncronos
Solicita dados da REST API ServiceNow especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| para endpoint | NowAPIEndpoint | Objeto que contém o acesso ServiceNow do endpoint da REST APIo, incluindo o método HTTP, o caminho relativo para o endpoint, os parâmetros de caminho e se a autenticação é necessária. |
| itens de consulta | Matriz | Opcional. Parâmetros de consulta para o endpoint como pares de chave/valor. Padrão: nulo |
| httpcabeçalhos | Matriz | Opcional. Solicite cabeçalhos HTTP exigidos pelo endpoint como pares de chave/valor. Padrão: nulo |
| corpo | Cadeia de caracteres | Opcional. Solicitar parâmetro bodyrs. Padrão: nulo |
| Tipo | Descrição |
|---|---|
| DataResponse | Retornado quando o método é bem-sucedido. Dados da chamada de REST API. |
| NowDataError | Lançado quando o método falha.
|
Os exemplos de código a seguir mostram como chamar este método.
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 - dados (para endpoint: NowAPIEndpoint, queryItems: [Cadeia de caracteres: Cadeia de caracteres]? = nil, httpHeaders: [Cadeia de caracteres: Cadeia de caracteres]? = nil, corpo: Dados? = nil)
Solicita dados da REST API ServiceNow especificada.
| Nome | Tipo | Descrição |
|---|---|---|
| para endpoint | NowAPIEndpoint | Objeto que contém o endpoint da REST API ServiceNow a ser acessado, incluindo o método HTTP, o caminho relativo para o endpoint, os parâmetros de caminho e se a autenticação é necessária. |
| itens de consulta | Matriz | Opcional. Parâmetros de consulta para o endpoint como pares de chave/valor. Padrão: nulo |
| httpcabeçalhos | Matriz | Opcional. Solicite cabeçalhos HTTP exigidos pelo endpoint como pares de chave/valor. Padrão: nulo |
| corpo | Dados | Opcional. Parâmetros do corpo da solicitação. Padrão: nulo |
| Tipo | Descrição |
|---|---|
| Qualquer publicador<DataResponse, NowDataError> | Sucesso: dados retornados pela REST API. Falha: NowDataError
|
O exemplo de código a seguir mostra como chamar esta função.
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)
}