APIツール

OpenAPIモックデータ生成仕様に結び付いたテストデータ

操作とボディを選択し、例を使うかスキーマから生成するかを決めます。

OpenAPIモックデータ生成

OpenAPI仕様

生成結果

仕様とデータはこのブラウザー内に留まり、APIリクエストは送信しません。

生成設定

JSONが1件なら元の形、複数件なら外側に配列を追加します。JSONLは1行1ボディです。

操作を読み取り中…

実装待ちのAPIでも、画面側では成功と失敗を別々に試したいものです。OpenAPIモックデータ生成なら、フィクスチャを操作とステータスに結び付けて管理できます。成功例の一部だけを書き換えて、エラー用の契約と食い違う事態を防ぎます。

OpenAPIスキーマからモックデータを生成するとき、件数は完全なボディの数を表します。レスポンス自体が配列なら、その要素数はitemsやminItemsなどの制約で決まり、画面の件数とは別です。

OpenAPIモックデータ生成を使う場面

エラーの例も操作から選ぶ

OpenAPIモックデータ生成では、仕様にある400や404を200と同じ手順で選べます。名前付き例を切り替えれば、定義を書き換えずに複数のケースを確認できます。別のステータスに属する例は混ざりません。

一つの操作から複数のレスポンスカードへ分岐し、一つの例が選ばれている図。

同じバッチを再現する

例の優先を解除し、シードを固定すると、同じ仕様と設定から同じデータ列を得られます。エンジンのバージョンも揃えて保存してください。明示された例や定数は、シードを変えても変化しないことがあります。

同じシードの二つの入力から、順序と色が一致するボディの組が生成される図。

生成前に確かめる三つの選択

01

ボディの方向を指定する

初期表示のYAML例は自動的に解析されます。リクエストを選ぶとrequestBodyだけが対象になり、レスポンスではステータスとメディアタイプを選びます。URLやクエリ、ヘッダーのパラメータは生成しません。

02

例を使う目的を決める

メディア側のexampleと名前付きexamplesは、スキーマやプロパティの例より優先されます。合わない例はエラーになり、無言でランダム値へ置き換えません。サンプリングを試す場合は例の優先を解除してください。

03

保存時の配列を区別する

JSONが1件ならボディ本来の形を保ち、複数件なら外側にバッチ用配列を追加します。JSONLは1行に1ボディです。Ctrl/Cmd + Enterで生成でき、入力や設定の変更後は再生成するまでコピーできません。

契約に沿ってケースを作る

宣言済みステータスを選択

メソッドとパスから操作を選び、具体的なレスポンスコード、範囲、defaultを指定できます。初期値は200、ほかの2xx、先頭項目の順です。成功以外のテストにも同じ選択手順を使えます。

例にも検証を適用

インライン値、名前付き例、同一文書のExample Object参照を扱います。有効なスキーマ例とプロパティ例も利用します。examplesに書かれているだけで正しいとは判断せず、出力前にボディを検証します。

読み取りと書き込みを分離

リクエストではreadOnly、レスポンスではwriteOnlyのプロパティを除外し、その方向のrequiredも調整します。提供済みの例に除外対象が含まれる場合は、削除して通す代わりにエラーを返します。

件数とシードを明示

1–100件の独立したボディを生成できます。uniqueItemsは各ボディ内の配列に適用され、バッチ全体の重複禁止を意味しません。少数で形を確かめてから件数を増やせます。

対応する仕様と停止条件

対応バージョンと形式
OpenAPI 3.0.xと3.1.xの単一JSONまたはYAML文書に対応します。Swagger 2とOpenAPI 3.2は対象外です。ボディはapplication/jsonとapplication/*+jsonに限り、XML、フォーム、バイナリ、コールバックやWebhookの実行は扱いません。
制約を読み飛ばさない
型、enum/const、properties、required、additionalProperties、items、uniqueItemsと数値・サイズ境界に対応します。3.0のnullableと排他的境界を変換します。合成、条件、pattern、format、multipleOf、タプル、未知の検証語は、例があっても生成を止めます。
参照は一つの文書内
ローカルJSON Pointerによるスキーマと例の参照を解決します。外部URL、externalValue、循環、アンカー、リソースID、動的参照は対象外です。3.1の参照と並ぶ追加制約も、誤った上書きを避けるため拒否します。
空のレスポンスを捏造しない
contentがなければボディなしと表示し、nullのファイルは作りません。JSONメディアにschemaがなければエラーです。defaultを例として使わず、名前からメールや人名を推測せず、拡張スクリプトも実行しません。
生成予算を超えたら停止
入力は500000文字まで。展開後の生成スキーマは100000文字、2000構文ノード、容器を含む深さ12までです。文字列1000単位、集合100項目、出力1000000文字、ワーカー5秒が上限です。シードは0–4294967295の整数。数値の精度損失、重複キー、YAMLエイリアスは拒否します。
APIサービスは起動しない
出力はテストデータであり、接続先URL、HTTPサーバー、認証、永続CRUD、MSWやExpressコードを作りません。実サーバーとの契約テストでもありません。予算内で生成できないことは、スキーマに解が存在しない証明にはなりません。

OpenAPIモックデータ生成のよくある質問

OpenAPI定義からJSONの例を作るには?

対応する完全な仕様を貼り付け、操作、方向、メディアタイプを指定します。文書内の例が必要なら優先設定を保ち、制約から別の値を作るなら解除します。単独のスキーマは専用のデータ生成ツールで扱ってください。

特定のレスポンス例を選ぶには?

ステータスとJSONメディアを選んでから、その場所にある名前付き例を選択します。インライン値と同一文書のExample Object参照に対応し、メディア側の例がスキーマ側より優先されます。

エラーレスポンスも作れますか?

仕様に該当するレスポンスと対応範囲のJSONスキーマがあれば作れます。400や404を選ぶと、そのボディをフィクスチャとして生成します。実際のHTTPエラーレスポンスを送る機能ではありません。

毎回同じ結果になるのはなぜですか?

初期シードは42で、同じ仕様と設定なら再現できます。example、const、単一値のenumはシードを変えても固定です。ランダム生成の変化を見たい場合は、例の優先を解除してからシードを変更してください。

生成したモックは実際のリクエストを検証しますか?

ここで検証するのは提供または生成したボディと対応する実効スキーマです。APIへ接続せず、ミドルウェアも動かしません。実際のヘッダー、認証、業務ルールは別のテストが必要です。

対応してほしい制約がありますか?

次のテスト用データを用意する

OpenAPIモックデータ生成でまず1件を作り、選択したステータスと出典を確認してから、必要な件数のバッチを保存しましょう。