リソースのさまざまな表現の提供に関するベスト プラクティスについて質問があります。私の使用例は、さまざまなコンテンツ タイプ (xml や json など) でオブジェクトの表現を単純に提供するよりも少し複雑です。
背景: この API は、コンテンツ管理システム用です。API の重要な側面の 1 つは、ユーザーがドキュメントの zip ファイルとそのすべての依存関係 (リンクされた画像、およびその他のドキュメント) を要求できることです。
たとえば、ドキュメント/rest/all-documents/{doc-id}
の XML 表現を返すドキュメントにアクセスする場合があります。
彼らがドキュメントの zip とそのすべての依存関係を取得する方法を設計するとき、私はいくつかのオプションを考え出しました:
- コンテンツ ネゴシエーションを使用し、
Accept
ヘッダーをベンダー固有のものに設定します。つまり、vnd.company.compiled-doc+zip です。 - 次のようなサブコレクションを使用します
/rest/all-documents/{doc-id}/export
(エクスポートは動詞なので、これが十分に標準化されているかどうかはわかりません) - 読み取り専用だった別の URI でサービスを提供します。
/rest/compiled-documents/{doc-id}
この問題は何度も発生する可能性があるため、API のこの部分を設計する最善の方法を判断するのに非常に苦労しています。これまでのところ、私はオプション 3 に傾いていますが、
ありがとう、
ケーシー