結論
OpenAPI自体には直接整数部や小数部の桁数を制御する機能はありません。ただし、OpenAPIのバリデーション機能を使って制約を追加する場合、multipleOf
やminimum
、maximum
の属性を組み合わせて間接的に制御することができます。
例:整数部3桁、小数部2桁のdouble
型をチェックする場合
OpenAPI定義
components:
schemas:
Price:
type: number
format: double
description: 整数部3桁以下、小数点以下2桁までの値
minimum: 0
maximum: 999.99
multipleOf: 0.01
各要素の説明
-
type: number
: 数値型であることを指定します。 -
format: double
: 浮動小数点数(倍精度)であることを指定します。float
も使用可能ですが、精度が異なります。 -
minimum: 0
: 最小値を設定します。整数部3桁の制限に従い、0以上に設定しています。 -
maximum: 999.99
: 最大値を設定します。整数部3桁、小数点以下2桁を表す最大の数値は999.99です。 -
multipleOf: 0.01
: 小数点以下2桁を制約するために、0.01の倍数であることを指定します。これにより、値が0.01の倍数であることが保証され、小数点以下2桁に制限されます。
注意点
-
multipleOf
は小数点以下の桁数を制限するために役立ちますが、これは直接整数部や小数部を区別してバリデーションしているわけではなく、実際にどのようにバリデーションされるかはAPI実装に依存します。 - OpenAPIはあくまでスキーマを定義する仕様であり、実際のバリデーションロジックや細かいチェック(例えば、整数部と小数部のチェック)を実装するのはバックエンド(サーバーサイド)で行う必要があります。