KDOC 131: 今さらOpenAPI v3.1の変更点を知る

この文書のステータス

  • 作成
    • 2024-03-25 貴島
  • レビュー
    • 2024-04-27 貴島

概要

雰囲気でOpenAPIを使ってコード生成していた。コード生成ライブラリのバージョンを上げたところnullableまわりの生成コードが変になり、動かなくなった。具体的には、nullableにしてもバリデーションされる。何かライブラリの不具合だろうか、と考えてバージョンアップせずそのままにしていた。しばらくしても直らない。ちゃんとチェックしている人とっては当然なのだろうが、これはOpenAPI v3.0->v3.1の破壊的変更である。

自分は最初からv3.1で書いているつもりだったので、何も気づかなかった。おそらくコード生成ライブラリがOpenAPI v3.1に対応してから、今まで動いていたコードが壊れた。v2->v3の変更にだけ気をつけていればよく、v2時代に書いてないので関係ないと考えていた。

教訓。

  • ちゃんとドキュメントを読んでキャッチアップしよう
  • ネット情報はバージョンを確認しよう
  • 生成コードをちゃんとテストしよう

nullable

まさにこれだった。変更したところ、元の通り生成されるようになった。

type: string
nullable: true
type:
- "string"
- "null"

関連

なし。