Zum Inhalt springen

OData

OData wird als vollwertiges Protokoll behandelt und nicht als HTTP, das man selbst dekorieren muss: Restorm kennt seine Systemoptionen, seine Operationen und sein Batch-Format.

Rechtsklick im Baum ▸ Hinzufügen ▸ OData-Anfrage.

Ein OData-Tab mit dem Editor für Anfrageoptionen — $filter, $select, $top, $count, $orderby — und der Vorschau der zusammengesetzten URL unten

FeldRolle
URLDer Einstiegspunkt des Dienstes, einschließlich Entity-Set
OData-Versionv2, v3, v4 oder v4.01
Operationstypentity-set, function, action oder batch
Header / ParameterWie bei einer HTTP-Anfrage

Die Systemoptionen haben jeweils ihr eigenes Feld:

$filter · $select · $top · $skip · $count · $expand · $orderby · $search · $format (json, xml, atom) · $apply (Aggregation, v4.01).

Das Feld $filter profitiert von einer Autovervollständigung, die aus den importierten Metadaten gespeist wird: Property-Namen und Operatoren werden vorgeschlagen.

Für function und action steht eine Liste typisierter Operationsparameter zur Verfügung — Name, qualifizierter CSDL-Typ, Nullbarkeit, Bindungsindikator — sowie, für eine Aktion, ein dedizierter JSON-Body.

Der Modus batch trägt eine Liste von Teilanfragen, jede mit eigener Methode, URL, Headern, Body und optional ihrer Atomizitätsgruppe (Change Set). Zwei Optionen:

  • Format: multipart (Standard) oder json;
  • GET in einem Change Set erlauben: standardmäßig deaktiviert; das Aktivieren löst eine Warnung aus, da OData dies nicht vorsieht.

Importieren Sie ein $metadata- oder .edmx-Dokument: Restorm legt einen Ordner pro Entity-Set mit seinen CRUD-Anfragen an, plus Ordner Actions und Functions. Die Anfragen kommen bereits mit Entitätstyp, Properties, Navigationsproperties und Anfrageoptionen vorausgefüllt an. Siehe OData importieren.

Restorm kann einen simulierten OData-v4-Dienst hosten: Sie liefern das CSDL-Metadatendokument (unverändert ausgeliefert) und die Daten pro Entity-Set. Die Systemoptionen werden auf die ausgelieferten Daten angewendet. Siehe Einen OData-Dienst simulieren.