ملخص لمعيار OData للحد الأدنى من التنفيذ للقراءة فقط
سؤال
ال مواصفات بيانات OD يكون طويل.حتى ال "أوداتا الأساسية"الوثيقة طويلة جدًا.
لذا، ماذا عن ملخص مكثف لما يحتاج ناشر OData للقراءة فقط إلى تنفيذه على الأقل؟
المحلول
سوف ابدأ.توفر خدمة OData نقطة نهاية HTTP التي:
- يجب أن يفهم "
Accept
"رؤوس - يجب أن يدعم رأس نوع المحتوى، ويجب أن يدعم تنسيق ATOM (اختياريًا JSON)
- يجوز له إرجاع مستند الخدمة (قائمة المجموعات) إلى
GET /
(10.1.1)- إذا كان تنسيق ATOM (AtomPub؟)، فإن التسلسل الهرمي هو
service/workspace/collection/title
- إذا كان تنسيق ATOM (AtomPub؟)، فإن التسلسل الهرمي هو
- يجب إرجاع أوصاف المجموعات لطلبات مثل
GET /Customers
(10.2)- إذا ATOM، والتسلسل الهرمي هو
feed/entry/content
- إذا ATOM، والتسلسل الهرمي هو
- يجب إرجاع أوصاف الكيانات الفردية لطلبات مثل
GET /Customers(3)
(10.2.1) - قد يُرجع الخصائص الفردية للكيانات الفردية لطلبات مثل
GET /Customers(3)/Name
(10.2.2) - يجب أن توفر أ CSDL وصف المخطط مغلف في مستند EDMX (10.1.2)
- يجب أن يكون هذا متاحًا في
/$metadata
- يجب أن يكون هذا متاحًا في
- قد يدعم أيًا من هذه الاستعلامات (10.2.3)
- المرشحات (الصفوف المحددة التي تم إرجاعها):
Products?$filter=Price lt 10.00
- حدد (الحقول المحددة التي تم إرجاعها):
Products?$select=Rating,ReleaseDate
- ترتيب حسب:
Products?$orderby=ReleaseDate asc, Rating desc
- أعلى، تخطي:
Products?$top=5&$skip=2
- InlineCount (يتضمن عدد الكيانات):
Products?$inlinecount=allpages
- المرشحات (الصفوف المحددة التي تم إرجاعها):
- يجب (؟) تقديم قائمة العلاقات للكيان (10.2.4):
Products(0)/$links/Orders
- يجب توفير عدد الكيانات (10.2.5):
Products/$count
- قد يدعم التنسيقات الأخرى مع
$format
المحدد (10.2.3.7)
عند إرجاع موجز ATOM (مثل مجموعة)، فإنه يحتاج إلى التوافق مع بعض اصطلاحات OData: http://www.odata.org/documentation/odata-v3-documentation/atom-format/ على سبيل المثال:
- الأنواع المستخدمة هي "
edm:String
" إلخ. link
يتم استخدام العناصر بسخاءcontent
تحتوي العناصر إما على محتوى مضمن (على سبيل المثال، بيانات نصية)، أو ترتبط به (على سبيل المثال، صور، ملفات ثنائية) معsrc=
يصف.
عندما يتم إرجاع خلاصة JSON، فإنها تتبع أيضًا قواعد معينة:
يتم تشجيع عناوين URL على اتباع هذا المخطط:
لا تنتمي إلى StackOverflow