0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenApiでdouble型の整数部と小数部の桁数チェックはできない

Posted at

結論

OpenAPI自体には直接整数部や小数部の桁数を制御する機能はありません。ただし、OpenAPIのバリデーション機能を使って制約を追加する場合、multipleOfminimummaximumの属性を組み合わせて間接的に制御することができます。

例:整数部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はあくまでスキーマを定義する仕様であり、実際のバリデーションロジックや細かいチェック(例えば、整数部と小数部のチェック)を実装するのはバックエンド(サーバーサイド)で行う必要があります。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?