2

UIにロードする前にswagger.jsonを編集する方法はありますか? 私の要件は、UIにロードする前にswagger.jsonを操作することです.これを達成するためにswaggerチームが提供するフックはありますか?

4

1 に答える 1

3

UI に読み込まれる前に、JSON を操作できる必要があります。

エンドポイントは、/api-docsドキュメントを提供するために Swagger が呼び出すものです。このエンドポイントが提供されるときに実行されるカスタム機能を実装できます。

例 (Node.JS の場合):

app.get('/api-docs', function(req, res) {
  // manipulate JSON here
  res.json(<return manipulated JSON>);
});

SwaggerUIindex.jsコードを調べて、これがどこで発生しているかを確認できます。

Swagger UI - index.js

var url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
  url = decodeURIComponent(url[1]);
} else {
  url = "/api-docs";
}  

デフォルトの URL は である/api-docsため、それをオーバーライドできます。また、エンドポイントの値を含むクエリ パラメーターを追加することで、Swagger ドキュメントを複数のエンドポイントに分割することもできurlます。

たとえば、API の Swagger ドキュメントの 2 番目のセットへの URL は、次のようになります。

www.mydomain.com?url=/second-set-of-docs

于 2016-03-07T16:51:52.873 に答える