Unterschied zwischen OData-, REST- und Client-Objektmodell
-
10-12-2019 - |
Frage
Ich bin neu in SharePoint und verwirrt über all diese Terminologien. Was sind die Unterschiede zwischen diesen 3?wann benutzen wir jeden?
Lösung
Sowohl CSOM als auch REST basieren auf demselben Webservice Client.svc
für SharePoint 2013.
CSOM
Die folgende Liste enthält Anleitungen zur Verwendung von CSOM-Endpunkten:
- Erstellen Sie eine .NET-Anwendung, die CRUD-Vorgänge ausführt SharePoint-Daten
- Erstellen Sie eine HTML / JavaScript-Anwendung, die CRUD-Operationen ausführt auf SharePoint-Daten
- Erstellen einer App für Office, die mit SharePoint funktioniert
- Erstellen Sie eine ASP.NET webanwendung, die CRUD-Operationen auf ausführt SharePoint-Daten oder externe Daten, die in SharePoint von einem Benutzer angezeigt werden BCS externer Inhaltstyp
REST-/OData-Endpunkte
OData definiert ein abstraktes Datenmodell und ein Protokoll, mit dem jeder Client auf Informationen zugreifen kann, die von SharePoint bereitgestellt werden.Das OData-Protokoll basiert auf REST, das definiert, wie HTTP-Verben verwendet werden.
SharePoint REST-Service-Architektur
Die folgende Liste enthält Anleitungen zur Verwendung von REST-/OData-Endpunkten:
- Erstellen Sie eine iOS- oder Android-App, die CRUD-Vorgänge ausführt SharePoint-Daten
- Erstellen Sie eine LAMP-Webanwendung, die CRUD-Vorgänge ausführt SharePoint-Daten oder externe Daten, die in SharePoint von einem Benutzer angezeigt werden BCS externer Inhaltstyp
Verweis
Andere Tipps
Sie finden viele Referenzen für die grundlegenden Definitionen von Rest und ODATA. Dieser Link bietet einen guten Überblick.
jetzt in einem SharePoint-Kontext:
SharePoint verfügt über einen Dienst, der als client.svc ausgesetzt ist, wodurch der Endpunkt für alle clientbezogenen Vorgänge ist.
Die REST-API-REST-API sharepoint 2013 (_api) ist eine Rest-API, die Operationen freigibt, die SharePoint-Daten lesen und modifizieren können.Sie können dies wie jede andere Rast-API anrufen, z.durch die jquery.ajax-Funktion.
Das Client-Objektmodell ist auch ein Wrapper, der intern Client.SVC anruft.Der Unterschied hier ist, dass es einen Satz typisierter Klassen zur Verfügung stellt.