Отправка денег через REST api - кавычки или нет? - PullRequest
0 голосов
/ 19 октября 2018

Существует ли какой-либо стандарт для отправки сумм в покое?

Как правильно отправить запрос POST с телом в поле суммы и где я могу найти объяснение?

"amount": "2.222222222"

или

"amount": 2.222222222

1 Ответ

0 голосов
/ 19 октября 2018

Обратите внимание, что REST не всегда JSON.Вы, кажется, на самом деле спрашиваете о денежных значениях в JSON-кодировке.

Если вы используете существующий JSON API, у вас нет выбора, чтобы сделать: спецификация API скажет вам, ожидается ли полебыть строкой или числом.

Если вы разрабатываете новый API, вам нужно сделать этот выбор.

Стандарт JSON определяет, как кодироватьчисло, содержащее десятичную точку, но оно ничего не указывает на то, как должно быть представлено декодированное число.Весьма вероятно, что библиотека декодирования расшифрует ее как число с плавающей точкой.

За очень немногими исключениями плохая идея использовать плавающую точку для денег : Почемуне использовать Double или Float для представления валюты? .По этой причине мой совет - использовать строки для перевода денежных значений и явно конвертировать как на клиенте, так и на сервере.Это означает, что промежуточный код обработки JSON оставляет меньше возможностей для изменения значения.

Также обратите внимание, что номер JSON не имеет единицы измерения.Если вы кодируете денежное значение в виде строки, у вас есть возможность включить валюту в формате: «£ 123,45».Конечно, и кодер, и декодер должны знать об этом формате.

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