2016-03-06 83 views
1

有沒有方法在將它加載到UI之前編輯swagger.json。 我的要求是在將UI加載到UI之前操作swagger.json,是否有任何由Swagger團隊提供的鉤子來完成這個操作在UI中加載之前編輯swagger.json

+0

你手動創建揚鞭JSON或您使用的一些庫爲你做這個? – Mike

回答

2

您應該能夠在將JSON加載到UI之前操縱JSON。

/api-docs端點是Swagger調用的服務文檔。您可以在提供此端點時實施自定義功能。

例如(在node.js中):

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

你可以看一下在SwaggerUI index.js代碼,看到這種情況的發生。

揚鞭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所以你可以重寫。此外,您可以通過將查詢參數url與您的端點值相加來將您的Swagger文檔分成多個端點。

例如,URL的第二組揚鞭文檔爲您的API可能是

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