NowTableService-Klasse: IOS
Die NowTableService Die Klasse bietet Funktionen, mit denen Sie Vorgänge zum Erstellen, Lesen, Aktualisieren und Löschen von Datensätzen vorhandener ausführen können ServiceNow Tabellen.
| Name | Typ | Beschreibung |
|---|---|---|
| konfigurieren | NowServiceConfiguration | Konfigurationseinstellungen, die bei der Initialisierung des Service bereitgestellt wurden. |
NowTableService – create<Model: SysIdentifiableModel>(_ model: Model, in tableName: Zeichenfolge, Coder: Coder, writeOptions: FieldWriteOptions, Configuration: FetchConfiguration) asynchrone Auslöse
Fügt das angegebene codierbare Modell in die angegebene Tabelle ein.
Um einen neuen Datensatz nach Modell zu erstellen, muss das Modell dem entsprechen SysIdentifiableModel protokoll. Jede Tabelle hat normalerweise ein eigenes Modell.
Das Modell sys_IdParameter wird während der Erstellung als ignoriert sysIdWird von generiert ServiceNow Plattform. Die ServiceNow Plattform generiert sys_IdWird in zurückgegeben completionHandler Ergebnis Modell.
| Name | Typ | Beschreibung |
|---|---|---|
| Modell | SysIdentifiableModel | Modelldefinition der Felder, die in die Tabelle eingefügt werden sollen. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| Coder | Coder | Optional. Coder Dient zum Codieren oder Decodieren von Daten, die an gesendet und von empfangen werden ServiceNow Instanz.Mögliche Werte:
Standard: .Standard |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| Modell | Wird zurückgegeben, wenn die Methode erfolgreich ist. Codierbares Modell, das in die angegebene Tabelle eingefügt wurde, einschließlich der sys_ID. Verwenden Sie diese sys_ID, um in zukünftigen Methodenaufrufen auf diesen Datensatz zu verweisen. |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
do {
let result = try await service.create(user, in: “sys_user”)
} catch {
...
}
NowTableService – create<Model: SysIdentifiableModel>(_ model: Model, in tableName: Zeichenfolge, Coder: Coder, writeOptions: FieldWriteOptions, Configuration: FetchConfiguration, Abschluss: @Escaping (Result<Model, NowDataError>))
Fügt das angegebene codierbare Modell in die angegebene Tabelle ein und führt dann aus completionHandler.
SysIdentifiableModel protokoll. Jede Tabelle hat normalerweise ein eigenes Modell. Zum Beispiel:struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let newUser):
/// 'newUser' contains the platform assigned 'sys_id', use in subsequent 'update' or 'delete' calls.
case .failure(let error):
...
}
}Das Modell sys_IdParameter wird während der Erstellung als ignoriert sysIdWird von generiert ServiceNow Plattform. Die ServiceNow Plattform generiert sys_IdWird in zurückgegeben completionHandler Ergebnis Modell.
| Name | Typ | Beschreibung |
|---|---|---|
| Modell | SysIdentifiableModel | Modelldefinition der Felder, die in die Tabelle eingefügt werden sollen. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| Coder | Coder | Optional. Coder Dient zum Codieren oder Decodieren von Daten, die an gesendet und von empfangen werden ServiceNow Instanz.Mögliche Werte:
Standard: .Standard |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Abschluss | @Escaping (Result<Model, NowDataError>) | Fertigstellungs-Handler, der nach dem Erstellen der angegebenen decodierbaren Modelle ausgeführt werden soll. Rückgabewerte für den Abschlusshandler:
|
| Typ | Beschreibung |
|---|---|
| Keine |
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let newUser):
/// 'newUser' contains the platform assigned 'sys_id' to use in subsequent update or delete calls.
case .failure(let error):
...
}
}
NowTableService – create<Model: SysIdentifiableModel>(model: Model, in tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.resultPfad, Coder: Coder = .default, writeOptions: FieldWriteOptions? = Nil, Konfiguration: FetchConfiguration = Nil)
Fügt ein codierbares Modell in die angegebene Tabelle ein.
SysIdentifiableModel protokoll. Jede Tabelle hat normalerweise ein eigenes Modell. Zum Beispiel:struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let newUser):
/// 'newUser' contains the platform assigned 'sys_id', use in subsequent 'update' or 'delete' calls.
case .failure(let error):
...
}
}ReceiveValue Rückrufmodell.| Name | Typ | Beschreibung |
|---|---|---|
| Modell | SysIdentifiableModel | SysIdentifiableModel Modell, das in die Tabelle eingefügt werden soll. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| path | Zeichenfolge | Optional. Durch Punkte getrennter Pfad für den geschachtelten Typ. Beispiel: Ergebnis Oder Foo.bar.baz Für tieferes Verschachteln.Standard: |
| Coder | Coder | Optional. Coder Dient zum Codieren oder Decodieren von Daten, die an gesendet und von empfangen werden ServiceNow Instanz.Mögliche Werte:
Standard: .Standard |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Model,NowDataError> | Erfolg: Codierbares Modell, das in die angegebene Tabelle eingefügt wurde, einschließlich sys_Id. Verwenden Sie diese sys_ID, um in zukünftigen Methodenaufrufen auf diesen Datensatz zu verweisen. Fehler: NowDataError @Escaping (Result<Model, NowDataError>) |
Zeigt, wie ein einzelner Datensatz in die Anwendertabelle [sys_user] eingefügt wird.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
let publisher: AnyPublisher<User, NowDataError> = service.create(user, in: "sys_user")
publisher
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { [weak self] completion in
...
} receiveValue: { [weak self] newUser in
/// 'newUser' contains the ServiceNow platform assigned 'sys_id' to use in subsequent update and delete calls.
...
}
.store(in: &subscriptions)
NowTableService – createRecord(mit Feldern: [Fieldname: FieldValue], in tableName: Zeichenfolge, writeOptions: FieldWriteOptions? = Nil, Konfiguration: FieldReadConfiguration? = Nil) asynchrone Auswürfe
Fügt einen Datensatz in die angegebene Tabelle ein, der die angegebenen Felder enthält.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()sys_ Sind normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.| Name | Typ | Beschreibung |
|---|---|---|
| Mit Feldern | [Feldname: Feldwert] | Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| Daten | Wird zurückgegeben, wenn die Methode erfolgreich ist. Datenobjekt, das den neuen Datensatz enthält. |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
do {
let dataResult: Data = try await tableService.createRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: configuration)
let recordResult: NowRecord = dataResult.convertToRecord()
} catch {
print("Record creation failed with NowDataError: \(error)")
}
NowTableService – createRecord(mit Feldern: [Fieldname: FieldValue], in tableName: Zeichenfolge, writeOptions: FieldWriteOptions, Konfiguration: FieldReadConfiguration, Abschluss: @Escaping (Ergebnis<Daten, NowDataError>)
Fügt den angegebenen Datensatz in die angegebene Tabelle ein und führt dann aus completionHandler, nachdem der Datensatz gespeichert wurde.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()sys_ Sind normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.| Name | Typ | Beschreibung |
|---|---|---|
| Mit Feldern | [Feldname: Feldwert] | Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | FeldleseKonfiguration | Optional. Konfigurationsoptionen, die angeben, welche Felder zurückgegeben werden sollen und was in die Felder aufgenommen werden soll. Standard: Nil |
| Abschluss | @Escaping (Result<Data, NowDataError>) | Fertigstellungs-Handler, der nach dem Abrufen der Datensätze ausgeführt werden soll. Rückgabewerte:
|
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
let fields = ["short_description" : "test description"]
let writeOptions: FieldWriteOptions = [.suppressAutoSysField, .treatInputValuesAsDisplayValues]
let readConfiguration = FieldReadConfiguration(includeFields: ["number", "short_description"])
tableService.createRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: readConfiguration) { [weak self] result in
switch result {
case .success(let dataResult):
let recordResult: NowRecord = dataResult.convertToRecord()
case .failure(let error):
print("Record creation failed with NowDataError: \(error)")
}
}
NowTableService – createRecord(mit Feldern: [Fieldname: FieldValue], in tableName: Zeichenfolge, writeOptions: FieldWriteOptions? = Nil, Konfiguration: FieldReadConfiguration? = Null)
Fügt einen Datensatz in die angegebene Tabelle ein, der die angegebenen Felder enthält.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()sys_ Sind normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.| Name | Typ | Beschreibung |
|---|---|---|
| Mit Feldern | [Feldname: Feldwert] | Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Data, NowDataError> | Erfolg: Datenobjekt mit dem aktualisierten Datensatz. Fehler: NowDataError
|
Dieses Beispiel zeigt, wie eine Funktion erstellt wird, die einen Datensatz in die angegebene Tabelle mit den angegebenen Feldern einfügt. Die Ausgabe des Aufrufs ist ein ByteArray, mit dem Sie die Daten in ein beliebiges Modell konvertieren können.
tableService.createRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: readConfiguration)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.convertToRecord()
.sink { completion in
if case let .failure(error) = completion {
print("Record creation failed with NowDataError: \(error)")
}
} receiveValue: { record in
print("Created NowRecord: \(record)")
}
.store(in: &subscriptions)
NowTableService – asynchrone Auslöse löschen (_ model: Model, from tableName: String)
Löscht das angegebene codierbare Modell aus der angegebenen Tabelle.
| Name | Typ | Beschreibung |
|---|---|---|
| Modell | Modell | SysIdentifiableModel Zum Löschen aus der Tabelle. Sie muss die sys_ID des zu löschenden Datensatzes enthalten. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident . |
| Typ | Beschreibung |
|---|---|
| Keine | Nichts zurückgegeben, wenn die Methode erfolgreich ist. |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
do {
try await tableService.delete(model, from: tableName)
print("Deletion successful.")
} catch {
print("Deletion failed with NowDataError: \(error)")
}
NowTableService – delete(_ model: Model, from tableName: String, Abschluss: @Escaping (Result<Void, NowDataError>))
Löscht das angegebene codierbare Modell aus der angegebenen Tabelle und führt dann das entsprechende aus completionHandler.
| Name | Typ | Beschreibung |
|---|---|---|
| Modell | Modell | SysIdentifiableModel Zum Löschen aus der Tabelle. Sie muss die sys_ID des zu löschenden Datensatzes enthalten. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident . |
| Abschluss | @Escaping (Result<Void, NowDataError>) | Abschlusshandler, der nach dem Löschen der angegebenen codierbaren Modelle ausgeführt werden soll. Rückgabewerte:
|
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
tableService.delete(Incident(sysId: sysId), from: tableName) { [weak self] result in
switch result {
case .success:
// Delete successfully
case .failure(let error):
// Failed to delete with NowDataError
}
}
NowTableService – delete(_ model: Model, from tableName: String)
Löscht das angegebene codierbare Modell aus der angegebenen Tabelle.
| Name | Typ | Beschreibung |
|---|---|---|
| Modell | Modell | SysIdentifiableModel Zum Löschen aus der Tabelle. Sie muss die sys_ID des zu löschenden Datensatzes enthalten. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident . |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Void, NowDataError> | Erfolg: Nichts zurückgegeben Fehler: NowDataError
|
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
tableService.delete(Incident(sysId: sysId), from: tableName)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { [weak self] completion in
switch completion {
case .finished:
// Delete successfully
case .failure(let error):
// Failed to delete with NowDataError
}
} receiveValue: { _ in
}
.store(in: &subscriptions)
NowTableService: Asynchrone Auslöse von deleteRecord(sysId: SysID, from tableName: Zeichenfolge)
Löscht den angegebenen Datensatz aus der angegebenen Tabelle.
| Name | Typ | Beschreibung |
|---|---|---|
| sysId | Zeichenfolge | SYS_ID des zu löschenden Datensatzes. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident . |
| Typ | Beschreibung |
|---|---|
| Keine | Nichts zurückgegeben, wenn die Methode erfolgreich ist. |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
do {
try await tableService.deleteRecord(sysId: sysId, from: tableName)
print("Deletion successful.")
} catch {
print("Deletion failed with NowDataError: \(error)")
}
NowTableService – deleteRecord(sysId: SysID, from tableName: Zeichenfolge, Abschluss: @Escaping (Result<Void, NowDataError>))
Löscht den angegebenen Datensatz aus der angegebenen Tabelle und führt dann aus completionObjekt, nachdem der Datensatz gelöscht wurde.
| Name | Typ | Beschreibung |
|---|---|---|
| sysId | Zeichenfolge | SYS_ID des zu löschenden Datensatzes. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident . |
| Abschluss | @Escaping (Result<Void, NowDataError>) | Erfolg: Es wird nichts zurückgegeben. Fehler: NowDataError
|
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
tableService.deleteRecord(sysId: sysId, from: tableName) { [weak self] result in
switch result {
case .success:
// Delete successfully
case .failure(let error):
// Failed to delete with NowDataError
}
}
NowTableService – deleteRecord(sysId: SysID, from tableName: Zeichenfolge)
Löscht den angegebenen Datensatz aus der angegebenen Tabelle.
| Name | Typ | Beschreibung |
|---|---|---|
| sysId | Zeichenfolge | SYS_ID des zu löschenden Datensatzes. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Informationen gelöscht werden sollen, z. B. Incident . |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Void, NowDataError> | Erfolg: Nichts zurückgegeben Fehler: NowDataError
|
Dieses Beispiel zeigt, wie eine Funktion erstellt wird, die einen Datensatz in einer angegebenen Tabelle löscht.
tableService.deleteRecord(sysId: sysId, from: tableName)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { completion in
switch completion {
case .finished:
print("Record deleted.")
case .failure(let error):
print("Deletion failed with NowDataError: \(error)")
}
} receiveValue: { _ in }
.store(in: &subscriptions)
NowServiceTable – init(Configuration: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProviding? = Null)
Erstellt ein NowTableService-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| konfigurieren | NowServiceConfiguration | Konfigurationsparameter, die beim Erstellen des Service verwendet werden sollen. |
| CoreServiceProvider | Now CoreServiceProviding | Optional. Service Provider, der dem NowTableService zugeordnet werden soll. Standard: Nil |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
guard let coreService = NowSDK.core() else {
// Error with NowServiceError.sdkNotConfigured
return
}
guard
let instanceUrl = URL(string: "http://sample.service-now.com") ,
let serviceConfig = NowSDK.makeServiceConfiguration(for: instanceUrl) else {
// Could not create service –
// NowServiceError.serviceConfigurationInvalid
return
}
let tableService = NowTableService (configuration: serviceConfig, coreServiceProvider: coreService)
NowTableService – model<Model: Decodable>(mit sysId: SysID? = Nil, von tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstants.resultPath, Coder: Coder = .Standard, Konfiguration: FetchConfiguration? = Nil) asynchrone Auswürfe
Aktiviert den Abruf von decodierbaren Modellen aus einer angegebenen Tabelle.
{
"result": [
{ "name": "Ash Williams" },
{ "name": "Lionel Cosgrove" },
{ "name": "Laurie Strode" }
]
}Verwenden Sie für große Ergebnissätze eine der Paginator-Funktionen, NowTableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null) Oder NowTableService – paginator<Model: Decodable>(from tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.resultPfad, Coder: Coder = .Standard, Konfiguration: FetchConfiguration? = Null) Zum Abrufen paginierter Modelle.| Name | Typ | Beschreibung |
|---|---|---|
| Mit sysId | Sys-ID | Optional. SYS_ID des zurückzugebenden Datensatzes. Geben Sie die sys_ID an, wenn Sie einen bestimmten Datensatz abrufen möchten. Standard: Nil |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| path | Zeichenfolge | Durch Punkte getrennter Pfad für den geschachtelten Typ. Beispiel: Ergebnis Oder Foo.bar.baz Für tieferes Verschachteln.Standard: |
| Coder | Coder | Optional. Coder Dient zum Codieren oder Decodieren von Daten, die an gesendet und von empfangen werden ServiceNow Instanz.Mögliche Werte:
Standard: .Standard |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| Modell | Wird zurückgegeben, wenn die Methode erfolgreich ist. Decodierbare(s) Modell(e). |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
struct User: Codable {
var name: String
}
let service: NowTableService = ...
do {
let result = try await service.model([User].self, from: "sys_user", path: "result")
print("Fetched \(users.count) users")
} catch {
dump(error)
}
Das folgende Codebeispiel zeigt, wie ein einzelnes decodierbares Modell nach sys_ID abgerufen wird Verwenden Sie einen einzelnen Modelltyp, z. B. User.self , Anstatt [Anwender].selbst .
let result = try await service.model(User.self, with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result")
NowTableService – model<Model: Decodable>(_ type: Model.Type, mit sysId: SysID? = Nil, von tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstants.resultPath, Coder: Coder = .Standard, Konfiguration: FetchConfiguration? = Nil, Abschluss: @Escaping (Result<Model, NowDataError>))
Ruft decodierbare Modelle aus einer angegebenen Tabelle ab.
{
"result": [
{ "name": "Ash Williams" },
{ "name": "Lionel Cosgrove" },
{ "name": "Laurie Strode" }
]
}Verwenden Sie diese Funktion, um decodierte Modelle anstelle der geschachtelten Ausgabe zu erhalten.
| Name | Typ | Beschreibung |
|---|---|---|
| type | Modell.Typ | Typ des zu decodierenden Werts. |
| Mit sysId | Zeichenfolge | Optional. SYS_ID des zurückzugebenden Datensatzes. Standard: Alle gemäß zurückgegebenen Datensätze configurationEinstellungen. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| path | Zeichenfolge | Optional. Durch Punkte getrennter Pfad für den geschachtelten Typ. Beispiel: Ergebnis Oder Foo.bar.baz Für tieferes Verschachteln.Standard: |
| Coder | Coder | Optional. Coder Dient zum Codieren oder Decodieren von Daten, die an gesendet und von empfangen werden ServiceNow Instanz.Standard: |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Abschluss | @Escaping (Result<Model, NowDataError>) | Abschlusshandler, der nach dem Abrufen der angegebenen decodierbaren Modelle ausgeführt werden soll. Rückgabewerte für den Abschlusshandler:
|
| Typ | Beschreibung |
|---|---|
| Keine |
Dient zum Abrufen einer Sammlung von decodierten UserModelle.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let service: NowTableService = ...
let user = User(name: "Ash Williams")
service.create(Incident(fields: fields), in: tableName, writeOptions: writeOptions, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let newUser):
/// 'newUser' contains the platform assigned 'sys_id', use in subsequent 'update' or 'delete' calls.
case .failure(let error):
...
}
}
Um ein einzelnes decodierbares Modell nach sys_ID abzurufen, verwenden Sie einen einzelnen Modelltyp, z. B. User.self , Anstatt [Anwender].selbst .
service.model(User.self, with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result") { resultin ... }
NowTableService – model<Model: Decodable>(mit sysId: SysID? = Nil, von tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstants.resultPath, Coder: Coder = .Standard, Konfiguration: FetchConfiguration? = Null)
Erstellt einen Herausgeber, der den Abruf von decodierbaren Modellen aus einer angegebenen Tabelle ermöglicht.
{
"result": [
{ "name": "Ash Williams" },
{ "name": "Lionel Cosgrove" },
{ "name": "Laurie Strode" }
]
}Verwenden Sie für große Ergebnissätze eine der Paginator-Funktionen, NowTableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null) Oder NowTableService – paginator<Model: Decodable>(from tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.resultPfad, Coder: Coder = .Standard, Konfiguration: FetchConfiguration? = Null) Zum Abrufen paginierter Modelle.| Name | Typ | Beschreibung |
|---|---|---|
| Mit sysId | Sys-ID | Optional. SYS_ID des zurückzugebenden Datensatzes. Geben Sie die sys_ID an, wenn Sie einen bestimmten Datensatz abrufen möchten. Standard: Nil |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| path | Zeichenfolge | Durch Punkte getrennter Pfad für den geschachtelten Typ. Beispiel: Ergebnis Oder Foo.bar.baz Für tieferes Verschachteln.Standard: |
| Coder | Coder | Optional. Coder Dient zum Codieren oder Decodieren von Daten, die an gesendet und von empfangen werden ServiceNow Instanz.Mögliche Werte:
Standard: .Standard |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Model, NowDataError> | Erfolg: Herausgeber gibt ein/mehrere decodierbare Modelle zurück. Fehler: NowDataError
|
Zum Abrufen eines Herausgebers, der decodierte Anwendermodelle nach Typ bereitstellt, z. B. [Anwender].Self , Rufen Sie die Modelle ab, indem Sie einen durch Punkte getrennten Pfad angeben.
struct User: Codable {
varname: String
}
let service: NowTableService = ...
let publisher: AnyPublisher<[User], NowDataError> = service.model(from: "sys_user", path: "user.photos.gps_location")
Um ein einzelnes decodierbares Modell nach sys_ID abzurufen, verwenden Sie ein einzelnes User.self Modelltyp statt [Anwender].selbst .
let publisher: AnyPublisher<User, NowDataError> = service.model(with: "5137153cc611227c000bbd1bd8cd2005", from: "sys_user", path: "result")
NowTableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null)
Erstellt einen Paginator, der die Iteration durch Seiten von Datensätzen ermöglicht.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()| Name | Typ | Beschreibung |
|---|---|---|
| tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| Paginator<Data> | Erfolg: Paginator-Objekt mit den angegebenen Datensätzen. Fehler: NowDataError
|
private var tableService: NowTableService?
// Paginator creation uses type inference to determine the response type.
private var paginator: Paginator<[CustomerServiceCase]>?
func initializeTableService(for instanceUrl: URL) {
makeTableService(instanceUrl: instanceUrl) { [weak self] result in
guard let self = self else { return }
switch result {
case .success(let tableService):
self.tableService = tableService
// Create a paginator that iterates over pages of customer support cases. The paginator's response type is
// inferred from the paginator's type definition (e.g. `Paginator<[CustomerServiceCase]>`).
self.paginator = tableService.paginator(from: Self.tableName, configuration: self.fetchConfiguration)
// Subscribe to the paginator's publisher so you are able to receive paged results.
self.subscribeToPaginatorPublisher()
// Ready to start fetching data, inform the view controller.
self.onReady(self)
case .failure(let error):
debugPrint("Creating table service failed with error: \(error.localizedDescription)")
self.tableService = nil
self.paginator = nil
}
}
}
NowTableService – paginator<Model: Decodable>(from tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.resultPfad, Coder: Coder = .Standard, Konfiguration: FetchConfiguration? = Null)
Erstellt einen Paginator, der die Iteration von Seiten decodierter Modelle ermöglicht, die das Verschachteln verarbeiten.
{
"result": [
{ "name": "Ash Williams" },
{ "name": "Lionel Cosgrove" },
{ "name": "Laurie Strode" }
]
}struct User: Codable {
varname: String
}
let service: NowTableService = ...
let paginator: Paginator<[User]> = service.paginator(from: "sys_user", path: "result")paginator.publisher
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { … }
.store(in: &subscriptions)| Name | Typ | Beschreibung |
|---|---|---|
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| Pfad | Zeichenfolge | Durch Punkte getrennter Pfad für den geschachtelten Typ. Beispiel: Ergebnis Oder result.user.photos Für tieferes Verschachteln. Durch die Angabe eines anwenderdefinierten Pfads können verschachtelte Daten abgerufen oder iteriert werden . Standard: |
| Coder | Coder | Optional. Coder Dient zum Codieren oder Decodieren von Daten, die an gesendet und von empfangen werden ServiceNow Instanz.Mögliche Werte:
Standard: .Standard |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| Paginator<Data> | Erfolg: Paginator-Objekt mit Paged Decodierbar Modell(e).Fehler: NowDataError
|
Dieses Beispiel zeigt, wie ein Paginator-Objekt abgerufen wird, das decodierte Anwendermodelle bereitstellt. Sie können das gewünschte Paginator-Objekt abrufen, indem Sie den Compiler anweisen, eine Sammlung von Anwendermodellen ([Anwender]) zurückzugeben, und dem Paginator-Objekt mitteilen, dass die Anwender unter dem Ergebnispfad geschachtelt sind.
struct User: Codable {
var name: String
}
let service: NowTableService = ...
let paginator: Paginator<[User]> = service.paginator(from: "sys_user", path: "result")
NowTableService – Datensatz(mit sysId: SysID, from tableName: Zeichenfolge, Konfiguration: FieldReadConfiguration? = Nil) asynchrone Auswürfe
Ruft einen angegebenen Datensatz aus der angegebenen Tabelle auf einem ab ServiceNow Instanz.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()| Name | Typ | Beschreibung |
|---|---|---|
| sysId | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNow Instanz. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| Daten | Wird zurückgegeben, wenn die Methode erfolgreich ist. Datenobjekt, das den angegebenen Datensatz enthält. |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
func fetchTableRecord(sysId: String, tableName: String, includeFields: [FieldName] = [FieldName](), readOptions: FieldReadConfiguration.Options = []) async throws -> NowRecord {
let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
do {
let dataResult: Data = try await tableService.record(with: sysId, from: tableName, configuration: configuration)
let recordResult: NowRecord = dataResult.convertToRecord()
return recordResult
} catch {
print("Fetch failed with NowDataError: \(error)")
throw error
}
}
NowTableService – Datensatz(mit sysId: SysID, from tableName: Zeichenfolge, Konfiguration: FeldleseKonfiguration, Abschluss: @Escaping (Result<Data, NowDataError>)
Ruft den angegebenen Datensatz aus der angegebenen Tabelle ab und führt dann einen Abschlusshandler aus, nachdem der Datensatz abgerufen wurde.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords() Verwenden Sie für große Ergebnissätze NowTableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null) Funktion zum Abrufen paginierter Ergebnisse. | Name | Typ | Beschreibung |
|---|---|---|
| sysId | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNow Instanz. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Abschluss | @Escaping (Result<Data, NowDataError>) | Fertigstellungs-Handler, der nach dem Abrufen der Datensätze ausgeführt werden soll. Rückgabewerte:
|
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
func fetchTableRecords( tableName: String, filterQuery: String, includeFields: [FieldName] = [FieldName](), readOptions: FieldReadConfiguration.Options = [], limit: Int?) {
let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
let config = FetchConfiguration(Filter(query: filterQuery), limit, readConfig)
tableService.records (from: tableName, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let dataResult):
let recordResult: [NowRecord] = dataResult.convertToRecords()
// Return recordResult
case .failure(let error):
// Failed to fetch record with NowDataError
}
}
}
NowTableService – Datensatz(mit sysId: SysID, from tableName: Zeichenfolge, Konfiguration: FieldReadConfiguration? = Null)
Erstellt einen Herausgeber, um einen angegebenen Datensatz aus der angegebenen Tabelle auf einem abzurufen ServiceNow Instanz.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()| Name | Typ | Beschreibung |
|---|---|---|
| sysId | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNow Instanz. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Data, NowDataError> | Erfolg: Datenobjekt mit den angegebenen Datensätzen. Fehler: NowDataError
|
Dieses Beispiel zeigt, wie eine Funktion erstellt wird, die den angegebenen Datensatz aus der angegebenen Tabelle mit den angegebenen Feldern abruft. Die Ausgabe des Aufrufs ist ein ByteArray, mit dem Sie die Daten in ein beliebiges Modell konvertieren können.
tableService.record(with: sysId, from: tableName, configuration: fetchConfiguration)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.convertToRecord()
.sink { completion in
if case let .failure(error) = completion {
print("Record retrieval failed with NowDataError: \(error)")
}
} receiveValue: { record in
print("Successfully retrieved record: \(record)")
}
.store(in: &subscriptions)
NowTableService – Datensätze(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Nil) asynchrone Auswürfe
Ruft Datensätze aus der angegebenen Tabelle ab.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords() Verwenden Sie für große Ergebnissätze NowTableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null) Funktion zum Abrufen paginierter Ergebnisse. | Name | Typ | Beschreibung |
|---|---|---|
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| Daten | Wird zurückgegeben, wenn die Methode erfolgreich ist. Datenobjekt mit den angegebenen Datensätzen. |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
func fetchTableRecords( tableName: String, filterQuery: String,
includeFields: [FieldName] = [FieldName](), readOptions:
FieldReadConfiguration.Options = [], limit: Int?) {
let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
let config = FetchConfiguration(Filter(query: filterQuery), limit, readConfig)
do {
let dataResult: Data = try await tableService.records(from: tableName, configuration: config)
let recordResult: [NowRecord] = dataResult.convertToRecords()
// return recordResult
} catch {
print("Fetch failed with NowDataError: \(error)")
throw error
}
}
NowTableService – Datensätze(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Nil, Abschluss: @Escaping (Result<Data, NowDataError>))
Ruft Datensätze aus einer angegebenen Tabelle ab und führt dann aus completionHandler, nachdem die Datensätze abgerufen wurden.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords() Verwenden Sie für große Ergebnissätze NowTableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null) Funktion zum Abrufen paginierter Ergebnisse. | Name | Typ | Beschreibung |
|---|---|---|
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Abschluss | @Escaping (Result<Data, NowDataError>) | Fertigstellungs-Handler, der nach dem Abrufen der Datensätze ausgeführt werden soll. Rückgabewerte:
|
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
func fetchTableRecords( tableName: String, filterQuery: String, includeFields: [FieldName] = [FieldName](), readOptions: FieldReadConfiguration.Options = [], limit: Int?) {
let readConfig = FieldReadConfiguration(includeFields: includeFields, options: readOptions)
let config = FetchConfiguration(Filter(query: filterQuery), limit, readConfig)
tableService.records (from: tableName, configuration: fetchConfiguration) { [weak self] result in
switch result {
case .success(let dataResult):
let recordResult: [NowRecord] = dataResult.convertToRecords()
// return recordResult
case .failure(let error):
// Failed to fetch record with NowDataError
}
}
}
NowTableService – Datensätze(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null)
Erstellt einen Herausgeber, mit dem Sie Datensätze aus der angegebenen Tabelle abrufen können.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords() Verwenden Sie für große Ergebnissätze NowTableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null) Funktion zum Abrufen paginierter Ergebnisse. | Name | Typ | Beschreibung |
|---|---|---|
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Data, NowDataError> | Erfolg: Datenobjekt mit den angegebenen Datensätzen. Fehler: NowDataError
|
Dieses Beispiel zeigt, wie Sie eine Funktion erstellen, die mehrere Datensätze aus einer angegebenen Tabelle abruft. Erstellt ein Objekt, das die Ausführung der Anforderung zu einem späteren Zeitpunkt plant und eine ByteArray-Antwort zurückgibt.
tableService.records(from: tableName, configuration: fetchConfiguration)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.convertToRecords()
.sink { completion in
if case let .failure(error) = completion {
print("Record retrieval failed with NowDataError: \(error)")
}
} receiveValue: { records in
print("Successfully retrieved records: \(records)")
}
.store(in: &subscriptions)
NowTableService – update<Model: SysIdentifiableModel>(_ model: Model, in tableName: Zeichenfolge, Coder: Coder = .default, writeOptions: FieldWriteOptions? = Nil, Konfiguration: Konfiguration abrufen? = Nil) asynchrone Auswürfe
Aktualisiert das angegebene codierbare Modell in der angegebenen Tabelle.
| Name | Typ | Beschreibung |
|---|---|---|
| Modell | Modell | SysIdentifiableModel Modell, das in der Tabelle aktualisiert werden soll. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| Coder | Coder | Optional. Coder Dient zum Codieren oder Decodieren von Daten, die an gesendet und von empfangen werden ServiceNow Instanz.Mögliche Werte:
Standard: .Standard |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| Modell | Wird zurückgegeben, wenn die Methode erfolgreich ist. Decodierbares Modell, das in der angegebenen Tabelle aktualisiert wurde. |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String}
func updateUser(user: User) async throws -> User {
do {
let result = try await tableService.update(user, in: “sys_user”)
return result
} catch {
print("Update failed with NowDataError: \(error)")
throw error
}
}
NowTableService – update<Model: SysIdentifiableModel>(_ model: Model, in tableName: Zeichenfolge, Coder: Coder = .default, writeOptions: FieldWriteOptions? = Nil, Konfiguration: Konfiguration abrufen? = Nil, Abschluss: @Escaping (Result<Model, NowDataError>))
Aktualisiert das angegebene codierbare Modell in der angegebenen Tabelle und führt dann aus completionHandler.
| Name | Typ | Beschreibung |
|---|---|---|
| Modell | Modell | SysIdentifiableModel Modell, das in der Tabelle aktualisiert werden soll. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| Coder | Coder | Optional. Coder Dient zum Codieren oder Decodieren von Daten, die an gesendet und von empfangen werden ServiceNow Instanz.Mögliche Werte:
Standard: .Standard |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Abschluss | @Escaping (Result<Model, NowDataError>) | Abschlusshandler, der nach dem Aktualisieren der angegebenen codierbaren Modelle ausgeführt werden soll. Rückgabewerte:
|
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let user = User(sysId: "12345", name: "abel")
let coder: Coder = .default
tableService.update(user, in: "sys_user") { [weak self] result in
switch result {
case .success(let model):
do {
let data = try coder.jsonEncoder.encode(model)
self?.publish(data: data)
} catch {
self?.publish(result: .failure(error))
}
case .failure(let error):
// Failed to update with NowDataError
self?.publish(result: .failure(error))
}
}
NowTableService – update<Model: SysIdentifiableModel>(_ model: Model, in tableName: Zeichenfolge, Coder: Coder = .default, writeOptions: FieldWriteOptions? = Nil, Konfiguration: Konfiguration abrufen? = Null)
Aktualisiert das angegebene codierbare Modell in der angegebenen Tabelle.
| Name | Typ | Beschreibung |
|---|---|---|
| Modell | Modell | SysIdentifiableModel Modell, das in der Tabelle aktualisiert werden soll. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| Coder | Coder | Optional. Coder Dient zum Codieren oder Decodieren von Daten, die an gesendet und von empfangen werden ServiceNow Instanz.Mögliche Werte:
Standard: .Standard |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Model, NowDataError> | Erfolg: Decodierbare Modelle, die in der angegebenen Tabelle aktualisiert wurden. Fehler: NowDataError
|
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
struct User: SysIdentifiableModel {
var sysId: String = ""
var name: String
}
let user = User(sysId: "12345", name: "abel")
let coder: Coder = .default
tableService.update(user, in: "sys_user")
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.sink { [weak self] completion in
if case let .failure(error) = completion {
// Failed to update with NowDataError
self?.publish(result: .failure(error))
}
} receiveValue: { [weak self] updatedModel in
do {
let data = try coder.jsonEncoder.encode(updatedModel)
self?.publish(data: data)
} catch {
// Failed to update with NowDataError
self?.publish(result: .failure(error))
}
}
.store(in: &subscriptions)
NowTableService – updateRecord(sysId: SysID, in tableName: Zeichenfolge, withfields: [Fieldname: FieldValue], writeOptions: FieldWriteOptions? = Nil, Konfiguration: FieldReadConfiguration? = Nil) asynchrone Auswürfe
Aktualisiert den angegebenen Datensatz mit den angegebenen Feldern.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()sys_ Sind normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.| Name | Typ | Beschreibung |
|---|---|---|
| sysId | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNow Instanz. |
| Mit Feldern | [Feldname: Feldwert] | Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| Daten | Wird zurückgegeben, wenn die Methode erfolgreich ist. Datenobjekt, das den aktualisierten Datensatz enthält. |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt.
|
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.
do {
let dataResult: Data = try await tableService.updateRecord(with: fields, in: tableName, writeOptions: writeOptions, configuration: configuration)
let recordResult: NowRecord = dataResult.convertToRecord()
} catch {
print("Record update failed with NowDataError: \(error)")
}
NowTableService – updateRecord(sysId: SysID, in tableName: Zeichenfolge, mit Feldern: [Fieldname: FieldValue], writeOptions: FieldWriteOptions? = Nil, Konfiguration: FieldReadConfiguration? = Nil, Abschluss: @Escaping (Result<Data, NowDataError>)
Aktualisiert den angegebenen Datensatz mit den angegebenen Feldern und führt dann aus completionHandler, sobald der Datensatz gespeichert wurde.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myResult.convertToRecords()sys_ Sind normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.| Name | Typ | Beschreibung |
|---|---|---|
| sysId | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNow Instanz. |
| Mit Feldern | [Feldname: Feldwert] | Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Abschluss | @Escaping (Result<Data, NowDataError>) | Fertigstellungs-Handler, der nach dem Abrufen der Datensätze ausgeführt werden soll. Rückgabewerte:
|
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.
tableService.updateRecord(sysId: sysId, in: tableName, with: fields, writeOptions: writeOptions, configuration: readConfiguration) { [weak self] result in
switch result {
case .success(let data):
self?.publish(data: data)
case .failure(let error):
// Failed to update with NowDataError
}
}
NowTableService – updateRecord(sysId: SysID, in tableName: Zeichenfolge, withfields: [Fieldname: FieldValue], writeOptions: FieldWriteOptions? = Nil, Konfiguration: FieldReadConfiguration? = Null)
Aktualisiert den angegebenen Datensatz mit den angegebenen Feldern.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()sys_ Sind normalerweise Systemparameter, die automatisch generiert werden und nicht aktualisiert werden können. Felder, die nicht angegeben und vom System nicht automatisch generiert werden, werden auf den Nullwert des zugehörigen Datentyps festgelegt.| Name | Typ | Beschreibung |
|---|---|---|
| sysId | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNow Instanz. |
| Mit Feldern | [Feldname: Feldwert] | Name-Wert-Paare der Felder, die in den Datensatz aufgenommen werden sollen. |
| In tableName | Zeichenfolge | Name der Tabelle, in die die Datensätze geschrieben werden sollen, z. B. Incident . |
| WriteOptions | FieldWriteOptions | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Nil |
| konfigurieren | Konfiguration abrufen | Optional. Konfiguration, die auf die abgerufenen Datensätze angewendet werden soll, einschließlich Filtern, die die zurückzugebenden Datensätze definieren, der Größenbeschränkung der Paginierungsseite, der abzurufenden Felder und der Elemente, die in die Felder aufgenommen werden sollen. Standard: Nil: Alle zurückgegebenen Datensätze. |
| Typ | Beschreibung |
|---|---|
| AnyPublisher<Data, NowDataError> | Erfolg: Datenobjekt mit dem aktualisierten Datensatz. Fehler: NowDataError
|
Dieses Beispiel zeigt, wie eine Funktion erstellt wird, die einen Datensatz in der angegebenen Tabelle mit den angegebenen Feldern aktualisiert. Die Ausgabe des Aufrufs ist ein ByteArray, mit dem Sie die Daten in ein beliebiges Modell konvertieren können.
tableService.updateRecord(sysId: sysId, in: tableName, with: fields, writeOptions: writeOptions, configuration: readConfiguration)
.subscribe(on: DispatchQueue.global())
.receive(on: DispatchQueue.main)
.convertToRecord()
.sink { completion in
if case let .failure(error) = completion {
print("Update failed with NowDataError: \(error)")
}
} receiveValue: { record in
print("Record updated: \(record)")
}
.store(in: &subscriptions)