REST двоичные данные - PullRequest
       25

REST двоичные данные

2 голосов
/ 11 января 2012

Я создаю REST-сервис, принимающий Foo объекты, содержащие смесь двоичных данных String и . Это XML, который я получил до сих пор.

<foo>
     <text>regular text</text>
     <text mime="application/octet-stream">base64 encododed binary data</text>
</foo>

Является ли это хорошей идеей или есть недостатки, заключающиеся в выделении больших объемов (МБ) двоичных данных?

В качестве незначительной детали дизайна я пытаюсь выбрать между использованием <text mime=".."/> или выделенным именем <binary>...</binary> для двоичных данных. Что было бы более связным?

Ответы [ 3 ]

2 голосов
/ 11 января 2012

Я бы порекомендовал включить в ваш XML-запрос / ответ только место, где вы будете хранить двоичные данные, которые вы хотите передать, а затем извлечь эти данные, выполняя другой запрос. Минусами этого решения будет выполнение другого запроса, но плюсы на вашей стороне:

  • не нужно сериализовать / десериализовать ваши 64 строки
  • более легкое тестирование вашего отдыха ws
  • менее раздутый xml
0 голосов
/ 11 января 2012

какой у вас контейнер веб-сервиса?формат xml будет сгенерирован вашим двоичным сериализатором.axis2 может быть полезен для вас.он основан на аксиоме, предлагая прямую двоичную поддержку

0 голосов
/ 11 января 2012

HTTP предназначен для передачи полезных данных произвольной длины.Отправка МБ данных будет в порядке.Передача данных в кодировке base64 не рекомендуется, потому что это увеличит количество байтов, которые вы должны отправлять по проводам, что приведет к снижению пропускной способности.

Я бы предложил вместо этого рассмотреть Составной MIME-тип , а не XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...