2

OData 仕様は長いです。「OData Core」ドキュメントでさえかなり長いです。

では、読み取り専用の OData パブリッシャーが最低限実装する必要があることの要約についてはどうでしょうか?

4

1 に答える 1

6

始めます。OData サービスは、次の HTTP エンドポイントを提供します。

  • Accept" " ヘッダーを理解する必要があります
  • Content-Type ヘッダーをサポートしなければならず、ATOM 形式 (オプションで JSON) をサポートしなければなりません。
  • GET /サービス ドキュメント (コレクションのリスト) を(10.1.1) に返すことができます (MAY )。
    • ATOM(AtomPub?)形式の場合、階層はservice/workspace/collection/title
  • GET /Customersコレクションの説明を(10.2) のようなリクエストに返さなければなりません (MUST )。
    • ATOM の場合、階層はfeed/entry/content
  • GET /Customers(3)(10.2.1)のような要求に対して、個々のエンティティの説明を返さなければなりません (MUST )。
  • GET /Customers(3)/Name(10.2.2)のような要求に対して、個々のエンティティの個々のプロパティを返す場合があります。
  • EDMX ドキュメント (10.1.2) にラップされた CSDL スキーマ記述 利用可能にしなければなりません (MUST )。
    • これはで利用可能であるべきです/$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 は次のスキームに従うことをお勧めします。

于 2012-07-26T09:09:16.927 に答える