問題タブ [swagger-tools]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - パラメータをロードしないカスタム構成の Swagger
ノードアプリケーションでカスタム構成とディレクトリ構造を使用して Swagger を使用していました。
ここに私のapp.jsのスニペットがあります
標準の YAML 構成を持つconfigswagger/config
ディレクトリの下default.yml
。
現在、コントローラーreq.swagger.params
で常に returnという問題が発生していnull
ます。
api - swagger-toolsコントローラー内からヘッダーキーにアクセスするには?
パラメーターが「in」ヘッダーに定義されている場合、swagger-tools は「args」変数を介してコントローラーで使用できるようにしますが、他のヘッダーのキーは含まれません。
私の質問は、「cache-control」や「X-Requested-With」など、「パラメーター」セクションで特に定義されていないヘッダー キーと値を読み取る方法ですか?
handlebars.js - Swagger-Tools での Swagger-UI のカスタマイズ
私はswagger-uiを変更できるようにしたいのですが、現在、swagger-uiの現在のdistフォルダーであるswaggerツールのインスタンスを介して提供されています。テンプレートなどを、 swagger ツールにはないmain/templatesから変更したいと考えています。これについてどうすればよいですか?
swagger-ui - ノード上のswagger-tools:swaggerUiをロードするには?
しかし、API 用にhttp://petstore.swagger.io/のような UI をロードするにはどうすればよいですか。
node.js - 着信クライアント http 要求が終了したときに発信 http 要求を終了する
アプリの概要
Express.js 4 モジュールと node.js コア http モジュールで実装された node.js サーバー アプリケーションがあります。大まかに言うと、アプリは受信クライアントの http メッセージを受け取り、(http モジュールを使用して) 他の外部 API に対してさまざまな http 呼び出しを行い、最後に、前述のさまざまな外部 http API 応答からの応答に基づいてクライアントに応答を返します。
問題
私の問題は、着信クライアントの http 要求がクライアントによって終了された場合 (たとえば、クライアントが要求をキャンセルしたい場合)、node.js アプリが前述のさまざまな外部 http API 呼び出しを続行することです。このような場合、node.js アプリの残りの部分に通知して、外部 API へのさまざまな送信 http 要求を終了する方法を見つけることができないようです。
クライアントがリクエストを終了すると、エクスプレス アプリ (つまり、エクスプレス http サーバー) は、私がリッスンしている「クローズ」イベントを受け取ります。私のコードの「閉じる」イベント リスナーは、このイベントをキャッチします。ただし、コードによって作成された「ダウンストリーム」または「後続の」httpリクエストに終了するよう通知する方法を理解できないようです。
私の目標
クライアントがサービスへの着信要求を終了したときに終了するように、単一のクライアント着信要求に関連付けられている外部 API へのすべての発信 http 要求に通知するにはどうすればよいですか?
問題をより明確に説明するために、いくつかのインライン コード コメントを付けて、以下の node.js アプリの簡易バージョンを提供しました。どんな助けや洞察も非常に高く評価されます。ありがとう!
追加情報
Apigee swagger-tools ミドルウェアを使用して API ルーティングを行っています。
私はいくつかの回答済みの質問を見つけましたが、それらは似ていますが、私の質問に直接は当てはまりません:
Express/Node.js と Angular でキャンセルされたリクエストを処理する
一番、
クリス
test-app.js
test-controller.js
swagger - ポリモーフィズムの「識別子」、OpenAPI 2.0 (Swagger 2.0)
OpenAPI 2.0、スキーマ オブジェクト、またはSwagger 2.0、スキーマ オブジェクト、およびdiscriminator
フィールドの定義を次のように参照します。
ポリモーフィズムのサポートを追加します。識別子は、このスキーマを継承する他のスキーマを区別するために使用されるスキーマ プロパティ名です。使用されるプロパティ名は、このスキーマで定義する必要があり、
required
プロパティ リストに含まれている必要があります。使用する場合、値はこのスキーマまたはそれを継承するスキーマの名前でなければなりません。
私の混乱/質問:
- 継承またはポリモーフィズムで正確にどのような役割を果たしているのか、私にはあいまいです。
discriminator
それが正確に何をし、それを使用しない場合はどうなるかを示す実際の例で誰かが説明してもらえますか? 一部の操作でそれに依存するエラー、警告、またはツールはありますか? - swagger -editorが をサポートしておらず
discriminator
、このフィールドが他のツールで使用されているということですか?
私がこれまでに試したこと:
- 私は、swagger-editorと同じドキュメント (以下にも記載) の例を使用して、このプロパティをいじって、その特別な動作が見られるかどうかを確認しようとしました。プロパティを変更して削除し、モデルを 1 レベル深く拡張して、新しいサブモデルで同じことを試しましたが、 swagger-editor
Dog
のプレビューに変更は見られませんでした。 - オンラインで、特にスタックオーバーフローの質問を検索してみましたが、関連する情報は見つかりませんでした。
実験に使用したサンプルコード: