发布于2021-11-03 13:53 阅读(1394) 评论(0) 点赞(25) 收藏(0)
我有 2 个 json 文件。为了静态地提供此服务,我被告知为每个 json 内容创建一个不同的变量,然后在 url:url 正下方添加这些变量。我的目标是在主页上有 2 个按钮,选项 1 和选项 2。单击选项 1 应加载规范 swagger 内容,单击选项 2 应加载规范 2 swagger 内容。有什么简单的方法可以做到这一点?
索引.html:
<script type="text/javascript">
$(function () {
var spec={
Json stuff goes here
}
var spec2={
Json stuff for #2 goes here
}
这是同一个文件中的swagger部分。现在只有 spec get 最初被加载。
var url = window.location.search.match(/url=([^&]+)/);
if (url && url.length > 1) {
url = decodeURIComponent(url[1]);
} else {
url = "http://petstore.swagger.io/v2/swagger.json";
}
hljs.configure({
highlightSizeThreshold: 5000
});
// Pre load translate...
if(window.SwaggerTranslator) {
window.SwaggerTranslator.translate();
}
window.swaggerUi = new SwaggerUi({
url: url,
spec: spec, // Here is where I call the variables
spec2: spec2
dom_id: "swagger-ui-container",
supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
onComplete: function(swaggerApi, swaggerUi){
if(typeof initOAuth == "function") {
initOAuth({
clientId: "your-client-id",
clientSecret: "your-client-secret-if-required",
realm: "your-realms",
appName: "your-app-name",
scopeSeparator: ",",
additionalQueryStringParams: {}
});
}
if(window.SwaggerTranslator) {
window.SwaggerTranslator.translate();
}
},
onFailure: function(data) {
log("Unable to Load SwaggerUI");
},
docExpansion: "none",
jsonEditor: false,
defaultModelRendering: 'schema',
showRequestHeaders: false
});
window.swaggerUi.load();
function log() {
if ('console' in window) {
console.log.apply(console, arguments);
}
}
});
</script>
</head>
您所描述的可能是最简单的方法。只需编辑您index.html
的按钮,然后触发 swagger-ui 的加载事件
首先,创建两个容器:
<div id="swagger-ui-container-1" class="swagger-ui-wrap"></div>
<div id="swagger-ui-container-2" class="swagger-ui-wrap"></div>
接下来,创建两个 swagger 对象并将它们分配给每个容器:
// create swagger_1, do the same with swagger_2
var swagger_1 = new SwaggerUi({
url: url,
dom_id: "swagger-ui-container-1",
supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
onComplete: function(swaggerApi, swaggerUi){
swaggerApi.setBasePath('/foo');
},
onFailure: function(data) {
log("Unable to Load SwaggerUI");
},
docExpansion: "none",
jsonEditor: false,
apisSorter: "alpha",
defaultModelRendering: 'schema',
showRequestHeaders: false
});
最后,在数组中保留对它们的引用,并对它们中的每一个调用 load:
window.apis = [swagger_1, swagger_2];
window.apis[0].load();
作者:黑洞官方问答小能手
链接:http://www.qianduanheidong.com/blog/article/217020/8b631cb884e8265c2fdc/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!