RESTバイナリデータ
-
27-10-2019 - |
質問
私は受け入れてレストサービスを構築しています Foo
文字列のミックスを含むオブジェクト と バイナリデータ。これは私がこれまでに得たXMLです。
<foo>
<text>regular text</text>
<text mime="application/octet-stream">base64 encododed binary data</text>
</foo>
これは良いアイデアですか、それともバイナリデータの大量(MB)を巻き込む欠点がありますか?
マイナーなデザインの詳細として、私は使用の間に落ち着こうとしています <text mime=".."/>
または専用の名前 <binary>...</binary>
バイナリデータの場合。どちらがより一貫しているでしょうか?
解決
リクエスト/応答XMLの唯一の場所に含めることをお勧めします。そのソリューションの短所は別の要求を実行することですが、プロはあなたの側にいます。
- 64文字列をシリアル化/脱必要にする必要はありません
- あなたの休息の簡単なテストws
- 肥大化度の低いXML
他のヒント
HTTPは、任意の長さのペイロードを送信するように設計されています。 MBSのデータを送信すると問題ありません。 base64エンコーディングによってデータを送信することは、 増加 ワイヤー上で送信する必要があるバイトの数、スループットを分解します。
代わりに、あなたがAを考慮することをお勧めします マルチパートMIMEタイプ XMLではなく。
あなたのウェブサービスコンテナは何ですか? XMLの形式は、バイナリシリアイザーによって生成されます。 axis2はあなたにとって良いかもしれません。それは公理に基づいており、直接のバイナリサポートを提供します
所属していません StackOverflow