我正在尝试使用Swagger记录我的API,方法是在Swagger编辑器中编写文档,然后将其加载到Swagger UI中。我使用了编辑器并下载了我的JSON文件,然后使用以下命令更改了UI中的/dist/index.html文件以指向我的本地文件:
var spec = "file:///Users/user1/Desktop/swagger.json";
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "http://petstore.swagger.io/v2/swagger.json";
}
// Pre load translate...
if(window.SwaggerTranslator) {
window.SwaggerTranslator.translate();
}
window.swaggerUi = new SwaggerUi({
url: url,
spec: spec,
我在文件中唯一更改的是使用spec var指向我的JSON文件,但是当我打开UI时,它会显示一个空白的UI页面,其中显示消息“已完成加载资源信息。渲染Swagger UI ...“我只想在UI中显示我在编辑器中创建的文档,而不必托管规范,是否有我遗漏的内容?
答案 0 :(得分:0)
根据Documentation,规范值必须是JSON对象,因此您必须执行以下操作:
window.swaggerUi = new SwaggerUi({
spec: JSON.parse('{ "swagger": "2.0", ...')
其中
{" swagger":" 2.0",...
是 file:///Users/user1/Desktop/swagger.json 文件的内容