首页 > 解决方案 > 如何在.net core web api项目中加载swagger UI后加载javascript文件

问题描述

我有一个web api project in .net core 2.2

我已经集成swagger UI到这个项目中,根据我的要求,我需要对用户名和密码进行一些 java 脚本验证,所以我配置了 java 脚本,startup.cs如下所示:

`app.UseSwaggerUI(c =>
 {
   c.SwaggerEndpoint("/swagger/v1/swagger.json", "Mobile Insurance API");
   c.InjectJavascript("basic-auth-swagger.js");
   c.InjectJavascript("sha256.js");
   c.InjectJavascript("Base64.js");
});

我在这里面临的问题是,以下javascript文件在加载之前swagger UI加载,因此我无法javascript根据我的要求找到并执行验证。

那么有什么方法可以在加载javascriptswagger UI加载。提前致谢 !!!

标签: javascriptswagger-uiasp.net-core-2.2

解决方案


我从这里找到了一种方法让函数等待元素存在

不确定这是否是最好的方法,但它有效

// It takes the document a sec to load the swagger stuff loop until we find it
var checkExist = setInterval(function () {
    if (document.getElementById("swagger-ui") != null) {
        clearInterval(checkExist);

        // Add this method with your code
        DoSomethingWithElements();
    }
}, 100); // check every 100ms

推荐阅读