2

独自のカスタム メディア タイプ形式 (application/vnd.myapp+xml など) を作成する場合、クライアントは本文コンテンツを送信するときに、カスタム メディア タイプで送信する必要がありますか?

たとえば、注文の表現を uri に PUT します。クライアントにはリンクなどのハイパーメディア コントロールが含まれないため、コンテンツは application/vnd.myapp+xml にする必要がありますか、それとも単に xml にする必要がありますか?

ユーザーがそれを受け入れる場合、サーバーは常にカスタム メディア タイプで応答しますが (そうすべきです)、クライアントはそれを要求本文で使用する必要がありますか?

4

2 に答える 2

3

クライアントは、サーバーが GET 応答で送り返すのと同じメディア タイプを使用して、(PUT または POST などを介して) サーバーにデータを送信する必要は必ずしもありません。受信できるメディアの種類と返す種類を決定するのは、サービス次第です。もちろん、同じリソースに対して双方向で複数のメディア タイプをサポートするように実装することもできます。

于 2012-04-10T00:22:22.127 に答える
2

独自のカスタム メディア タイプ形式 (application/vnd.myapp+xml など) を作成する場合、クライアントは本文コンテンツを送信するときに、カスタム メディア タイプで送信する必要がありますか?

いいえ、HTML を例にとってみましょう。HTML は異なるメディア タイプですが、データは text/plain、application/x-www-form-urlencoded または multipart/form-data で送信できます。サポートされているこれらすべてのタイプは、HTML 仕様自体によって定義されており、フォーム定義内で提供できます。したがって、クライアントとこの制御要素 (つまり、HTML.FORM の enctype) をどのように調整するかはあなた次第です。

たとえば、書き込みセマンティクスを持つ 2 つの JSON 形式があります。

コレクション + JSON: http://amundsen.com/media-types/collection/format/

データ送信形式を明示的に定義し、application/vnd.collection+json です

Collection.next+JSON: http://code.ge/media-types/collection-next-json/

上記と同じサポートに加えて、「enctype」属性のサポートがあり、サービス実装者はデータ送信に必要なメディア タイプを指定できます。

ユーザーがそれを受け入れる場合、サーバーは常にカスタム メディア タイプで応答しますが (そうすべきです)、クライアントはそれを要求本文で使用する必要がありますか?

上記の回答を参照してください。

于 2012-06-01T16:05:49.793 に答える