在加载UI之前编辑swagger.json

时间:2016-03-06 19:34:08

标签: jersey swagger swagger-ui swagger-2.0 swagger-editor

有没有办法在将其加载到ui之前编辑swagger.json。 我的要求是在将它加载到UI之前操纵swagger.json,是否有swagger团队为完成此任务而提供的任何钩子

1 个答案:

答案 0 :(得分:2)

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

/api-docs端点是Swagger调用以提供文档的内容。您可以实现在提供此端点时发生的自定义功能。

例如(在Node.JS中):

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

您可以查看SwaggerUI index.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,因此您可以覆盖它。此外,您可以通过添加带有端点值的查询参数url,将Swagger文档分解为多个端点。

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

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