同じステータスコードのレスポンスを定義していると、スキーマファイルに適切に反映されない

同じエンドポイントで同じステータスコード(401, 404など)のレスポンスを複数定義しています。
この状態でJSON/YAMLスキーマをエクスポートすると、一部のレスポンスが反映されない、もしくは「x-apidog-additional-responses」という階層にまとめられてしまいます。
ステータスコードが重複していても responses 配下にフラットに出力してほしいのですが、そのようなことは可能でしょうか。

しばらく前のバージョンでスキーマ生成した際は、このような問題はなかった気がするのですが、、、

よろしくお願いいたします。

derodero24様

ご連絡いただきありがとうございます。

いただいたスクリーンショットと詳細な状況説明、誠にありがとうございます。差し支えなければ、今回OpenAPI Specificationをエクスポートされる目的や利用シーンについて、もう少し詳しくお伺いしてもよろしいでしょうか。実際の利用目的を把握することで、旧バージョンとの挙動の違いや、より望ましい出力形式について、より正確に検討できるかと思います。

なお、OpenAPIの仕様上、同一ステータスコードに複数のレスポンスを定義することはできません。responses 配下で使用できるキーは単一のHTTPステータスコード、1XX / 2XX / 3XX / 4XX / 5XX、または default のいずれかに限られており、重複したキーは許可されていません。そのため、重複しているレスポンスについては x-apidog-additional-responses にまとめて出力する仕様としております。

参考:OpenAPI Specification v3.1.2

旧バージョンでの出力形式との違いについても、いただいた情報を踏まえて内部で共有し、改善の余地がないか検討させていただきます。

今後ともよろしくお願いいたします。

ありがとうございます。

エクスポートの目的は、apidog上で定義した自社APIの仕様を、実装に反映させるためです。

なお、OpenAPIの仕様上、同一ステータスコードに複数のレスポンスを定義することはできません。

そうだったのですね。こちら認識しておりませんでした。ありがとうございます。

念の為共有すると、以前のスキーマをエクスポートした際には画像のような形式で出力されておりました。

適切かわかりませんが、弊社の利用方法では以前のような形式化、以下ページに記載のようにoneOfでエクスポートできると嬉しいです

derodero24様

ApidogはoneOfをサポートしております。最適な方法としては、Apidog上で直接oneOfを使用する形に変更いただくことが考えられます。これにより、ステータスコードが重複する場合でも適切にレスポンスを定義・エクスポートすることが可能です。