使用REST API发送资金属性-是否使用引号?

时间:2018-10-19 11:49:12

标签: java rest

有没有关于发送剩余金额的标准?

发送带有金额字段正文的POST请求的正确方法是什么?在哪里可以找到说明?

"amount": "2.222222222"

"amount": 2.222222222

1 个答案:

答案 0 :(得分:0)

请注意,REST并不总是JSON。您似乎实际上是在询问有关用JSON编码的货币值。

如果要使用现有的JSON API,则别无选择:API规范将告诉您该字段是字符串还是数字。

如果您正在设计新的API,则需要做出选择。

JSON standard指定如何对包含小数点的数字进行编码,但未指定解码数字应如何表示。解码库很有可能会将其解码为浮点数。

除了极少数例外,使用浮点数赚钱不是一个好主意Why not use Double or Float to represent currency?。因此,我的建议是使用字符串来传输货币值,并在客户端和服务器中进行显式转换。这意味着为中间的JSON处理代码留出了更改值的范围。

还要注意,JSON编号没有单位。如果您将货币值编码为字符串,则可以选择以以下格式包含货币:“£123.45”。当然,编码器和解码器都需要知道这种格式。