Question

Le Spécification OData c'est long.Même le "Noyau OData" Le document est assez long.

Alors, que diriez-vous d’un résumé condensé de ce qu’un éditeur OData en lecture seule doit implémenter au minimum ?

Était-ce utile?

La solution

Je vais commencer.Un service OData fournit un point de terminaison HTTP qui :

  • DOIT comprendre "Accept" en-têtes
  • DOIT prendre en charge l'en-tête Content-Type et DOIT prendre en charge le format ATOM (éventuellement JSON)
  • PEUT retourner un document de service (liste des collections) à GET / (10.1.1)
    • Si le format ATOM (AtomPub?), la hiérarchie est service/workspace/collection/title
  • DOIT renvoyer les descriptions des collections à des requêtes telles que GET /Customers (10.2)
    • Si ATOM, la hiérarchie est feed/entry/content
  • DOIT renvoyer des descriptions d'entités individuelles à des requêtes telles que GET /Customers(3) (10.2.1)
  • PEUT renvoyer des propriétés individuelles d'entités individuelles pour des requêtes telles que GET /Customers(3)/Name (10.2.2)
  • DOIT mettre à disposition un CSDL description du schéma enveloppée dans un document EDMX (10.1.2)
    • Cela DEVRAIT être disponible à /$metadata
  • PEUT prendre en charge n'importe laquelle de ces requêtes (10.2.3)
    • Filtres (limiter les lignes renvoyées) : Products?$filter=Price lt 10.00
    • Sélectionnez (limiter les champs renvoyés) : Products?$select=Rating,ReleaseDate
    • Commandé par: Products?$orderby=ReleaseDate asc, Rating desc
    • En haut, ignorez : Products?$top=5&$skip=2
    • InlineCount (inclure un nombre d'entités) : Products?$inlinecount=allpages
  • DOIT (?) fournir une liste de relations pour une entité (10.2.4) : Products(0)/$links/Orders
  • DOIT fournir un nombre d'entités (10.2.5) : Products/$count
  • PEUT prendre en charge d'autres formats avec $format spécificateur (10.2.3.7)

Lorsqu'un flux ATOM est renvoyé (par exemple pour une collection), il doit être conforme à certaines conventions OData : http://www.odata.org/documentation/odata-v3-documentation/atom-format/ Par exemple:

  • Les types utilisés sont "edm:String" etc.
  • link les éléments sont utilisés généreusement
  • content les éléments contiennent soit du contenu en ligne (par exemple, des données texte), soit un lien vers celui-ci (par exemple, des images, des fichiers binaires) avec src= attribut.

Lorsqu'un flux JSON est renvoyé, il suit également certaines règles :

Les URL sont encouragées à suivre ce schéma :

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top