web-dev-qa-db-ja.com

JSONスキーマの10進精度

JSONスキーマで、小数点以下2桁以下がmy REST apiに送信されることを検証してもらいたいです。

最新のJSONスキーマRFC(v4)で確認できることから、これは許可されていません。 V1にはmaxDecimalsバリデーターがありました。

なぜそれが取り出されたのか誰か知っていますか?

データベースに格納するときに小数点以下2桁しか保持しないフィールドがあり、小数点以下2桁に切り捨てるだけではありません。これにより、一部のユーザーにとって入力が大幅に変更されます。だから私はそれ以上の精度を拒否し、彼らに彼ら自身を丸めるように強制したい。

もちろん、自分で作成したカスタムバリデーターを使用してこれを行うこともできますが、絶対に必要な場合を除いて、そうはしません。

V4でこれを示す別の方法はありますか?

ありがとう

12
Jay Pete

彼らはそれをmultipleOfに置き換えました(v3 divisibleBy経由)。

小数点以下2桁の場合は、multipleOf:0.01を追加するだけです。

17
fiddur

{ "type": "number", "multipleOf": 0.01 } rather than { "type": "integer", "multipleOf": 0.01 }をお勧めします。

http://spacetelescope.github.io/understanding-json-schema/reference/numeric.html#multiples を参照してください

5
cristian fusi