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