2

有没有办法在将 swagger.json 加载到 ui 中之前对其进行编辑。我的要求是在将 swagger.json 加载到 UI 之前对其进行操作,swagger 团队是否提供了任何钩子来完成此操作

4

1 回答 1

3

您应该能够在 JSON 加载到 UI 之前对其进行操作。

/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";
}  

默认网址是/api-docs这样您就可以覆盖它。此外,您可以通过添加带有端点值的查询参数将 Swagger 文档分解为多个url端点。

例如,您的 API 的第二组 Swagger 文档的 URL 可以是

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

于 2016-03-07T16:51:52.873 回答