Now TableServiceklasse: IOS
Die Now TableService Die Klasse bietet Funktionen, mit denen Sie Erstellungs-, Lese-, Aktualisierungs- und Löschvorgänge für Datensätze vorhandener ausführen können ServiceNowTabellen.
| Name | Typ | Beschreibung |
|---|---|---|
| konfigurieren | Jetzt Servicekonfiguration | Konfigurationseinstellungen, die bei der Initialisierung des Service bereitgestellt wurden. |
Now TableService – create<Model: SysIdentifiableModel>(_ model: Model, in tableName: Zeichenfolge, Coder: Coder, writeOptions: FieldWriteOptions, Konfiguration: 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.
Die Modelle sys_IdParameter wird während der Erstellung als ignoriert sysIdWird von generiert ServiceNowPlattform. Die ServiceNowPlattform 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 ServiceNowInstanz.Mögliche Werte:
Standard: .Default |
| WriteOptions | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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 sys_ID. Verwenden Sie diese sys_ID, um in zukünftigen Methodenaufrufen auf diesen Datensatz zu verweisen. |
| Jetzt Datenfehler | 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 {
...
}
Now TableService – create<Model: SysIdentifiableModel>(_ model: Model, in tableName: Zeichenfolge, Coder: Coder, writeOptions: FieldWriteOptions, Konfiguration: 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):
...
}
}Die Modelle sys_IdParameter wird während der Erstellung als ignoriert sysIdWird von generiert ServiceNowPlattform. Die ServiceNowPlattform 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 ServiceNowInstanz.Mögliche Werte:
Standard: .Default |
| WriteOptions | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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):
...
}
}
Now TableService – create<Model: SysIdentifiableModel>(model: Model, in tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.resultPath, 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. Punktgetrennter 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 ServiceNowInstanz.Mögliche Werte:
Standard: .Default |
| WriteOptions | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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: Now DataError @Escaping (Result<Model, NowDataError>) |
Zeigt an, 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)
Now TableService – createRecord(mit Feldern: [Fieldname: FieldValue], in tableName: Zeichenfolge, writeOptions: FieldWriteOptions? = Nil, Konfiguration: FeldReadConfiguration? = Nil) asynchrone Auslöser
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 | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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. |
| Jetzt Datenfehler | 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)")
}
Now TableService – createRecord(mit Feldern: [Fieldname: FieldValue], in tableName: Zeichenfolge, writeOptions: FieldWriteOptions, Konfiguration: FieldReadConfiguration, Abschluss: @Escaping (Ergebnis<Daten, jetzt Datenfehler>)
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 | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| konfigurieren | FeldleseKonfiguration | Optional. Konfigurationsoptionen, die angeben, welche Felder zurückgegeben werden sollen und was in die Felder aufgenommen werden soll. Standard: Null |
| Abschluss | @Escaping (Result<Data, NowDataError>) | Fertigstellungs-Handler, der ausgeführt werden soll, nachdem die Datensätze abgerufen wurden. 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)")
}
}
Now TableService – createRecord(mit Feldern: [Fieldname: FieldValue], in tableName: Zeichenfolge, writeOptions: FieldWriteOptions? = Nil, Konfiguration: FeldReadConfiguration? = 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 | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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: Now DataError
|
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)
Now TableService – asynchrone Auslöse (_ 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. |
| Jetzt Datenfehler | 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)")
}
Now TableService – 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>) | Fertigstellungs-Handler, 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
}
}
Now TableService – 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: Now DataError
|
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)
Now TableService – deleteRecord(sysId: SysID, from tableName: Zeichenfolge) asynchrone Auslöse
Löscht den angegebenen Datensatz aus der angegebenen Tabelle.
| Name | Typ | Beschreibung |
|---|---|---|
| Sys-ID | 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. |
| Jetzt Datenfehler | 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)")
}
Now TableService – 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 |
|---|---|---|
| Sys-ID | 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: Now DataError
|
| 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
}
}
Now TableService – deleteRecord(sysId: SysID, from tableName: Zeichenfolge)
Löscht den angegebenen Datensatz aus der angegebenen Tabelle.
| Name | Typ | Beschreibung |
|---|---|---|
| Sys-ID | 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: Now DataError
|
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 Now TableService-Objekt.
| Name | Typ | Beschreibung |
|---|---|---|
| konfigurieren | Jetzt Servicekonfiguration | Konfigurationsparameter, die beim Erstellen des Service verwendet werden sollen. |
| CoreServiceanbieter | Jetzt CoreServicebereitstellung | Optional. Service Provider, der dem Now TableService zugeordnet werden soll. Standard: Null |
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)
Now TableService – model<Model: Decodable>(mit sysId: SysID? = null, von tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.resultPath, Coder: Coder = .Standard, Konfiguration: Konfiguration abrufen? = Nil) asynchrone Auslöser
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 Paginatorfunktionen, Now TableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null)Oder NowTableService – paginator<Model: Decodable>(from tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstants.resultPath, Coder: Coder = .default, 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: Null |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| path | Zeichenfolge | Punktgetrennter 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 ServiceNowInstanz.Mögliche Werte:
Standard: .Default |
| 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). |
| Jetzt Datenfehler | 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")
Now TableService – model<Model: Decodable>(_ type: Model.Type, mit sysId: SysID? = null, von tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.resultPath, Coder: Coder = .Standard, Konfiguration: Konfiguration abrufen? = Null, Abschluss: @Escape (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 decodierbare Modelle anstelle der geschachtelten Ausgabe abzurufen.
| Name | Typ | Beschreibung |
|---|---|---|
| Typ | Modell.Typ | Typ des zu decodierenden Werts. |
| Mit sysId | Zeichenfolge | Optional. SYS_ID des zurückzugebenden Datensatzes. Standard: Alle Datensätze werden gemäß zurückgegeben configurationEinstellungen. |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| path | Zeichenfolge | Optional. Punktgetrennter 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 ServiceNowInstanz.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>) | Fertigstellungs-Handler, 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 ... }
Now TableService – model<Model: Decodable>(mit sysId: SysID? = null, von tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.resultPath, Coder: Coder = .Standard, Konfiguration: Konfiguration abrufen? = 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 Paginatorfunktionen, Now TableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null)Oder NowTableService – paginator<Model: Decodable>(from tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstants.resultPath, Coder: Coder = .default, 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: Null |
| Von tableName | Zeichenfolge | Name der Tabelle, aus der die Datensätze abgerufen werden sollen, z. B. Incident . |
| path | Zeichenfolge | Punktgetrennter 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 ServiceNowInstanz.Mögliche Werte:
Standard: .Default |
| 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: Now DataError
|
Dient zum Abrufen eines Herausgebers, der decodierte Anwendermodelle nach Typ bereitstellt, z. B. [Anwender].selbst , Ruft 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")
Now TableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null)
Erstellt einen Paginator, der die Iteration durch Datensatzseiten 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: Paginierobjekt mit den angegebenen Datensätzen. Fehler: Now DataError
|
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 = Konstants.resultPath, Coder: Coder = .default, 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 . |
| path | Zeichenfolge | Punktgetrennter 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 ServiceNowInstanz.Mögliche Werte:
Standard: .Default |
| 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: Paginierobjekt mit Paged Decodierbar Modell(e).Fehler: Now DataError
|
Dieses Beispiel zeigt, wie ein Paginierungsobjekt abgerufen wird, das decodierte Anwendermodelle bereitstellt. Sie können das gewünschte Paginierobjekt abrufen, indem Sie den Compiler anweisen, eine Sammlung von Anwendermodellen ([Anwender]) zurückzugeben, und das Paginierobjekt darüber informieren, 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")
Now TableService – Datensatz(mit sysId: SysID, from tableName: Zeichenfolge, Konfiguration: FieldReadConfiguration? = Nil) asynchrone Auslöser
Ruft einen angegebenen Datensatz aus der angegebenen Tabelle auf einem ab ServiceNowInstanz.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()| Name | Typ | Beschreibung |
|---|---|---|
| Sys-ID | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNowInstanz. |
| 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. |
| Jetzt Datenfehler | 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
}
}
Now TableService – 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 Now TableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null)Funktion zum Abrufen paginierter Ergebnisse. | Name | Typ | Beschreibung |
|---|---|---|
| Sys-ID | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNowInstanz. |
| 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 ausgeführt werden soll, nachdem die Datensätze abgerufen wurden. 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
}
}
}
Now TableService – Datensatz(mit sysId: SysID, from tableName: Zeichenfolge, Konfiguration: FieldReadConfiguration? = Null)
Erstellt einen Herausgeber, um einen angegebenen Datensatz aus der angegebenen Tabelle auf einem abzurufen ServiceNowInstanz.
let dataPublisher: AnyPublisher<Data, NowDataError> = ...
let recordsPublisher: AnyPublisher<[NowRecord], NowDataError> = myPublisher.convertToRecords()| Name | Typ | Beschreibung |
|---|---|---|
| Sys-ID | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNowInstanz. |
| 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: Now DataError
|
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)
Now TableService – Datensätze(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Nil) asynchrone Auslöser
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 Now TableService – 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, das die angegebenen Datensätze enthält. |
| Jetzt Datenfehler | 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
}
}
Now TableService – Datensätze(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null, Abschluss: @Escape (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 Now TableService – 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 ausgeführt werden soll, nachdem die Datensätze abgerufen wurden. 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
}
}
}
Now TableService – 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 Now TableService – 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: Now DataError
|
Dieses Beispiel zeigt, wie eine Funktion erstellt wird, 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)
Now TableService – update<Model: SysIdentifiableModel>(_ model: Model, in tableName: Zeichenfolge, Coder: Coder = .default, writeOptions: FieldWriteOptions? = Nil, Konfiguration: Konfiguration abrufen? = Nil) asynchrone Auslöser
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 ServiceNowInstanz.Mögliche Werte:
Standard: .Default |
| WriteOptions | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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. |
| Jetzt Datenfehler | 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
}
}
Now TableService – update<Model: SysIdentifiableModel>(_ model: Model, in tableName: Zeichenfolge, Coder: Coder = .default, writeOptions: FieldWriteOptions? = Nil, Konfiguration: Konfiguration abrufen? = Null, Abschluss: @Escape (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 ServiceNowInstanz.Mögliche Werte:
Standard: .Default |
| WriteOptions | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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 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))
}
}
Now TableService – 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 ServiceNowInstanz.Mögliche Werte:
Standard: .Default |
| WriteOptions | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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: Now DataError
|
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)
Now TableService – updateRecord(sysId: SysID, in tableName: Zeichenfolge, withfields: [Fieldname: FieldValue], writeOptions: FieldWriteOptions? = Nil, Konfiguration: FeldReadConfiguration? = Nil) asynchrone Auslöser
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 |
|---|---|---|
| Sys-ID | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNowInstanz. |
| 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 | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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. |
| Jetzt Datenfehler | 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)")
}
Now TableService – updateRecord(sysId: SysID, in tableName: Zeichenfolge, mit Feldern: [Fieldname: FieldValue], writeOptions: FieldWriteOptions? = Nil, Konfiguration: FeldReadConfiguration? = 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 |
|---|---|---|
| Sys-ID | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNowInstanz. |
| 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 | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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 ausgeführt werden soll, nachdem die Datensätze abgerufen wurden. 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
}
}
Now TableService – updateRecord(sysId: SysID, in tableName: Zeichenfolge, withfields: [Fieldname: FieldValue], writeOptions: FieldWriteOptions? = Nil, Konfiguration: FeldReadConfiguration? = 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 |
|---|---|---|
| Sys-ID | Zeichenfolge | SYS_ID des Datensatzes, der von zurückgegeben werden soll ServiceNowInstanz. |
| 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 | Feldschreiboptionen | Optional. Konfigurationsoptionen, die auf die Daten angewendet werden sollen, die in den Datensatz geschrieben werden. Standard: Null |
| 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: Now DataError
|
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)