У меня есть задача создать веб-сервис RESTful с Jersey Jax-RS, который преобразует данные между текстом (я использовал UTF-8), base64, десятичное, шестнадцатеричное и двоичное.
ИнтернетСервис работает сейчас так: метод post использует JSON, который содержит тип и значение входных данных.Массив, заполненный различными преобразованиями, созданными моей бизнес-логикой, добавляется в JSON и затем создается методом.
пример этого будет выглядеть следующим образом:
(тело запроса)
{
"input": {
"type":"UTF_8",
"value":"abc"
}
}
(тело ответа)
{
"input": {
"type":"UTF_8",
"value":"abc"
},
"output": [
{
"type":"base64",
"value":"YWJj"
},
{
"type":"decimal",
"value":"97,98,99"
},
{
"type":"hexadecimal",
"value":"616263"
},
{
"type":"binary",
"value":"011000010110001001100011"
}
]
}
Пока все хорошо, но мне сказали расширятьсяэтот веб-сервис, поэтому он различает различные байтовые и битовые порядки.
Упрощенный пример того, каковы ожидания (с моей точки зрения):
(Тело запроса)
{
"input": {
"type":"<type>",
"value":"<value>",
"input_format": {
"byte_order":"<byte_order>",
"bit_order":"<bit_order>"
}
}
}
(Тело ответа)
{
"input": {
"type":"<type>",
"value":"<value>",
"input_format": {
"byte_order":"<byte_order>",
"bit_order":"<bit_order>"
}
},
"output": {
"output_format": {
"byte_order":"<byte_order>",
"bit_order":"<bit_order>"
},
"conversion": [
{
"type":"<type>",
"value":"<value>",
}, {...}, {...}, {...}
]
}
}
С моим пониманием концепции байтов и порядка битов это расширение неЭто не имеет смысла для меня, потому что данные, между которыми я преобразую, являются байтовым потоком, так что нет ни одного или менее значимого байта (по крайней мере, с UTF-8).Следовательно, порядок байтов в этом контексте не имеет никакого смысла.
Мой вопрос заключается в том, правильна ли моя проверка или нет.И , в особенности , я хотел бы знать, имеет ли смысл расширение в отношении упорядочения битов (поэтому, имеет ли значение упорядочение битов в последовательности байтов, как я здесь) ...