Frage

Der OData-Spezifikation ist lang.Sogar die "OData-Kern" das Dokument ist ziemlich lang.

Wie wäre es also mit einer komprimierten Zusammenfassung dessen, was ein schreibgeschützter OData-Publisher mindestens implementieren muss?

War es hilfreich?

Lösung

Ich fange an.Ein OData-Dienst stellt einen HTTP-Endpunkt bereit, der:

  • MUSS verstehen "Accept" Headern
  • MUSS den Inhaltstyp-Header unterstützen und DAS ATOM-Format (optional JSON) unterstützen
  • KANN ein Servicedokument (Liste der Sammlungen) an zurücksenden GET / (10.1.1)
    • Wenn ATOM (AtomPub?) format, die Hierarchie ist service/workspace/collection/title
  • MUSS Beschreibungen von Sammlungen an Anfragen wie zurückgeben GET /Customers (10.2)
    • Wenn ATOM, ist die Hierarchie feed/entry/content
  • MUSS Beschreibungen einzelner Entitäten an Anfragen wie zurückgeben GET /Customers(3) (10.2.1)
  • KANN einzelne Eigenschaften einzelner Entitäten für Anforderungen wie zurückgeben GET /Customers(3)/Name (10.2.2)
  • MUSS eine zur Verfügung stellen CSDL schemabeschreibung in ein EDMX-Dokument eingeschlossen (10.1.2)
    • Dies sollte verfügbar sein unter /$metadata
  • KANN jede dieser Abfragen unterstützen (10.2.3)
    • Filter (Anzahl der zurückgegebenen Zeilen begrenzen): Products?$filter=Price lt 10.00
    • Auswählen (Limit-Felder werden zurückgegeben): Products?$select=Rating,ReleaseDate
    • Bestellung nach: Products?$orderby=ReleaseDate asc, Rating desc
    • Nach oben, überspringen: Products?$top=5&$skip=2
    • InlineCount (eine Entitätsanzahl einschließen): Products?$inlinecount=allpages
  • MUSS (?) stellen Sie eine Liste von Beziehungen für eine Entität bereit (10.2.4): Products(0)/$links/Orders
  • MUSS eine Entitätsanzahl angeben (10.2.5): Products/$count
  • KANN andere Formate mit unterstützen $format bezeichner (10.2.3.7)

Wenn ein ATOM-Feed zurückgegeben wird (z. B. für eine Sammlung), muss er einigen OData-Konventionen entsprechen: http://www.odata.org/documentation/odata-v3-documentation/atom-format/ Beispielsweise:

  • Verwendete Typen sind "edm:String" usw.
  • link elemente werden großzügig eingesetzt
  • content elemente enthalten entweder Inline-Inhalte (z. B. Textdaten) oder verlinken darauf (z. B. Bilder, Binärdateien) mit src= Attribut.

Wenn ein JSON-Feed zurückgegeben wird, folgt er in ähnlicher Weise bestimmten Regeln:

URLs werden aufgefordert, diesem Schema zu folgen:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top