左の「設計GUI」でプロジェクト設定・サーバー・エンドポイントを組み立てると、中央のJSONエリアと右側のプレビューにリアルタイムで反映されます。中央のJSONを直接編集しても、左のGUIとプレビューに反映されます(有効なJSONである間のみ)。
OpenAPIはYAML・JSONのどちらでも正式な仕様として有効です。本ツールの編集エリアはJSONを採用しています。外部のYAMLパーサーライブラリを同梱すると、そのライブラリ自体の脆弱性・ライセンスを継続的に監査する必要が生まれるため、当サイトの他ツール同様「本体は外部ライブラリに依存しない」方針を優先しました。YAML形式で書き出したい場合は「📄 YAML書き出し」ボタンから、本ツール内で自己実装した変換処理(一方向の書き出し専用)でファイルを生成できます。
各エンドポイントには「+ テストケースを追加」で複数のテストパターン(正常系・異常系など)を登録できます。ケースごとにパラメータ値・期待ステータスコード・期待レスポンスを個別に設定可能です。
プレビュー内の「▶ テスト実行」ボタンは、登録されている全テストケースを順番に実行し、ブラウザから「サーバー」欄のURLへ実際にリクエストを送信します。これはブラウザの通常のfetch機能によるものです。相手のAPIサーバーがこのツールのオリジンからのアクセスを許可していない場合(CORS未対応)、リクエストは失敗します。これは本ツール固有の制限ではなく、Swagger UIの「Try it out」等でも同じ制約があります。出力窓にケースごとの結果が表示されます。
「▶ テスト実行」がそのまま使えるのは、(1) 本ツール自体をテスト対象のAPIと同じオリジンでホストしている場合、または (2) テスト対象のAPIが元々ブラウザからの直接呼び出しを想定してCORSに対応している場合、のいずれかに限られます。社内API・バックエンド専用APIなど、ブラウザから直接クロスオリジンで叩かれる想定のないAPIは、同様にブロックされます。
オリジンが一致しているかは「スキーム(http/https)・ホスト名・ポート番号」がすべて文字列として完全に一致しているかで判定されます。実質的に同じサーバーを指しているつもりでも、サブドメインの有無・http/httpsの違い・ポート番号の違いなどがあれば別オリジンとして扱われ、ブロックの原因になります。ツールを開いているURLと「サーバー」欄のURLのオリジンが一致しているか確認してください。
CORS非対応のAPIに対して確実にテストしたい場合は、下記の「📮 Postman書き出し」を利用してください。
「📮 Postman書き出し」は、CORSに影響されずに確実にテストしたい場合の代替手段です。Postman Collection Format v2.1形式のJSONファイルを生成し、Postman(デスクトップ版・Web版)にインポートして実行できます。テストケースごとに1つのPostmanリクエストとして出力されるため、複数パターンをそのままPostman上でも個別に実行できます。設定した期待ステータス・期待レスポンスは、Postmanのテストスクリプト(pm.test)として変換されます。
各パラメータの型に応じて、format(date / date-time / email 等)・最小値/最大値(minimum / maximum)・最小/最大文字数(minLength / maxLength)・正規表現(pattern)・配列の件数(minItems / maxItems)を設定できます。これらは標準のJSON Schema/OpenAPIの機能なので、Swagger UI等の一般的なツールでもそのまま解釈されます。
一方、「パラメータAが未指定ならパラメータBは必須」「開始日は終了日より前」のようなパラメータ同士を参照する条件は、OpenAPIのパス/クエリ/ヘッダーパラメータの仕様には表現方法がありません。そのため「パラメータ間の条件・関連性」欄は自由記述のメモとしてx-validation-notes(ベンダー拡張)に保存されるだけで、Swagger UI等では自動検証されません。
OpenAPI(Web API仕様書)をGUIフォームで組み立てられるツールです。ブラウザ単体で動作し、外部サーバーへの通信は行いません(「テスト実行」機能で自分が指定したAPIサーバーへ通信する場合を除く)。
OS標準搭載のフォント(Segoe UI / Yu Gothic UI / Meiryo など)を使用しており、外部のフォント配信サービスへの通信は行っていません。
当サイトで使用している他のオープンソースライブラリの一覧は ライセンス表示ページ をご覧ください。