NowAPIClasse de serviço - iOS
. NowAPIService a classe fornece funções que permitem executar solicitações para um especificado ServiceNow REST API.
| Nome | Tipo | Descrição |
|---|---|---|
| configuração | NowServiceConfiguration | Configuração de serviço a ser associada ao protocolo. |
NowAPIService - data(para endpoint: NowAPIEndpoint, queryItems: [Cadeia de caracteres], httHeaders: [Cadeia de caracteres], corpo: Dados, conclusão: NowDataError>)
Solicita dados do especificado ServiceNow REST API e executa o manipulador de conclusão.
| Nome | Tipo | Descrição |
|---|---|---|
| para endpoint | NowAPIEndpoint | Objeto que contém ServiceNow Endpoint da REST API 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. |
| QueryItems | Matriz | Opcional. Parâmetros de consulta para o endpoint como pares de chave/valor. Padrão: Nil |
| Cabeçalhos HTttttp | Matriz | Opcional. Cabeçalhos HTTP de solicitação exigidos pelo endpoint como pares de chave/valor. Padrão: Nil |
| corpo | Cadeia de caracteres | Opcional. Parâmetros do corpo da solicitação. Padrão: Nil |
| conclusão | Escape (<DataResponse, NowDataError>) | Manipulador de conclusão a ser executado após a conclusão da chamada da REST API. Valores de retorno para o manipulador de conclusão:
|
| Tipo | Descrição |
|---|---|
| Nenhum(a) |
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 - data(para endpoint: NowAPIEndpoint, queryItems: [Cadeia de caracteres], httpHeaders: [Cadeia de caracteres], body: Dados) lançamentos assíncronos
Solicita dados do especificado ServiceNow REST API.
| Nome | Tipo | Descrição |
|---|---|---|
| para endpoint | NowAPIEndpoint | Objeto que contém ServiceNow Endpoint da REST API t O Acesso, incluindo o método HTTP, caminho relativo para o endpoint, parâmetros de caminho e se a autenticação é necessária. |
| QueryItems | Matriz | Opcional. Parâmetros de consulta para o endpoint como pares de chave/valor. Padrão: Nil |
| Cabeçalhos HTttttp | Matriz | Opcional. Cabeçalhos HTTP de solicitação exigidos pelo endpoint como pares de chave/valor . Padrão: Nil |
| corpo | Cadeia de caracteres | Opcional. Solicitar bod parâmetro y. rs. Padrão: Nil |
| Tipo | Descrição |
|---|---|
| DataResponse | Retornado quando o método é bem-sucedido. Dados da chamada da 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 - data(para endpoint: NowAPIEndpoint, queryItems: [Cadeia de caracteres]? HttHeaders: [Cadeia de caracteres: Cadeia de caracteres]? Corpo: Dados? nulo)
Solicita dados do especificado ServiceNow REST API.
| Nome | Tipo | Descrição |
|---|---|---|
| para endpoint | NowAPIEndpoint | Objeto que contém ServiceNow Endpoint da REST API 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. |
| QueryItems | Matriz | Opcional. Parâmetros de consulta para o endpoint como pares de chave/valor. Padrão: Nil |
| Cabeçalhos HTttttp | Matriz | Opcional. Cabeçalhos HTTP de solicitação exigidos pelo endpoint como pares de chave/valor. Padrão: Nil |
| corpo | Dados | Opcional. Parâmetros do corpo da solicitação. Padrão: Nil |
| Tipo | Descrição |
|---|---|
| AnyPublisher<DataResponse, NowDataError> | Sucesso: Dados retornados pela REST API. 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)
}