OData zur Abfrage von Daten verwenden
OData ist ein Protokoll zur Abfrage von RESTful-APIs. In dieser Lektion werden einige Möglichkeiten zum Ausführen von CRUD-Vorgängen gegenüber Microsoft Dataverse-Daten erläutert.
Eine Zeile erstellen
Verwenden Sie zum Erstellen von Zeilen die HTTP-POST-Methode.
POST [Organization URI]/api/data/v9.2/accounts HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"name": "Sample Account",
"creditonhold": false,
"address1_latitude": 47.639583,
"description": "This is the description of the sample account",
"revenue": 5000000,
"accountcategorycode": 1
}
Zeilen abrufen
Verwenden Sie zum Abrufen von Zeilen die HTTP-GET-Methode.
Im folgenden Beispiel wird ein Konto mit der ID 00000000-0000-0000-0000-000000000001 abgerufen:
GET [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)
Andere Methoden zum Abfragen von Daten mithilfe der standardmäßigen OData-Abfragesyntax sind verfügbar. Weitere Informationen zu diesem Vorgang finden Sie unter Eine Tabellenzeile mit der Web-API abrufen.
Zeilen aktualisieren
Je nachdem, was Sie erreichen möchten, können Sie zwischen zwei Methoden zum Aktualisieren von Zeilen auswählen:
Verwenden Sie zum Aktualisieren mehrerer Attributwerte die HTTP-PATCH-Methode. PATCH-Methoden bieten eine Upsert-Funktion, wenn Sie einen ID-Wert als Teil Ihrer Abfrage angeben. Dies ist eine nützliche Funktion, wenn Sie Daten zwischen Systemen synchronisieren.
Verwenden Sie zum Aktualisieren eines einzelnen Attributwerts die HTTP-PUT-Methode. Diese Methode können Sie nicht mit Navigationseigenschaften wie Suchvorgängen verwenden, da hierfür auch ein Verweis entfernt werden muss.
Im folgenden Beispiel wird eine Tabellenzeile aktualisiert:
PATCH [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"name": "Updated Sample Account ",
"creditonhold": true,
"address1_latitude": 47.639583,
"description": "This is the updated description of the sample account",
"revenue": 6000000,
"accountcategorycode": 2
}
Wenn Sie Daten von der zu aktualisierenden Tabelle abrufen möchten, können Sie den Anfrage-Header return=representation verwenden. Wenn Sie steuern möchten, welche Eigenschaften zurückgegeben werden, können Sie Ihrer PATCH-URL eine $select
-Abfrage hinzufügen. Im folgenden Beispiel wurde der Header hinzugefügt und $select
wurde so geändert, dass nur die Attribute „name“, „creditonhold“ und „address1“ enthalten sind.
Anforderung
PATCH [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)?$select=name,creditonhold,address1_latitude,description,revenue,accountcategorycode,createdon HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
Content-Type: application/json; charset=utf-8
Prefer: return=representation
{"name":"Updated Sample Account"}
Antwort
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
Preference-Applied: return=representation
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts/$entity",
"@odata.etag": "W/"536537"",
"accountid": "00000000-0000-0000-0000-000000000001",
"accountcategorycode": 1,
"description": "This is the description of the sample account",
"address1_latitude": 47.63958,
"creditonhold": false,
"name": "Updated Sample Account",
"createdon": "2023-09-28T23:14:00Z",
"revenue": 5000000.0000,
"_transactioncurrencyid_value": "048dddaa-6f7f-e611-80d3-00155db5e0b6"
}
Der folgende Code ist eine beispielhafte PUT-Anfrage, bei der der Name eines Kontos für eine bestimmte Zeile aktualisiert wird:
PUT [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/name HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{"value": "Updated Sample Account Name"}
Zeilen löschen
Verwenden Sie zum Löschen von Zeilen die HTTP-DELETE-Methode. Der Vorgang ist unkompliziert. Sie geben den URI des zu löschenden Tabellenzeilen an, wie in der folgenden Abfrage gezeigt:
DELETE [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Mehr Vorgänge
Dataverse bietet eine Reihe vieler anderer vordefinierter Vorgänge, die Sie über Web-API-Anfragen auslösen können. Eine vollständige Liste der verfügbaren Funktionen finden Sie unter Vorgänge mithilfe der Web-API ausführen.