【发布时间】:2018-12-12 17:00:40
【问题描述】:
我们正在使用 Swashbuckle 来记录我们的 web api 并使用它来测试我们的 web api。我想知道如何使用 Swagger UI 为每个请求传递具有不同值的多个自定义标头。
我在互联网上看到类似下面的答案以在 Swagger UI 中传递标题,但无法理解它。令人困惑的是 SwaggerExtensions 文件。这个文件的用途是什么,为什么在js文件的限定名中会提到这个文件。
1.添加名为“SwaggerExtensions”的新文件,然后添加名为“onComplete.js”的新JS文件,您必须将此文件的构建操作更改为“嵌入式资源”。
2.在文件“onComplete.js”中粘贴以下代码:
$('#input_apiKey').change(function () {
var key = $('#input_apiKey')[0].value;
if (key && key.trim() != "") {
key = "Bearer " + key;
window.authorizations.add("key", new ApiKeyAuthorization("Authorization", key, "header"));
}
});
3.打开文件“SwaggerConfig.cs”并在注册方法中粘贴以下代码:
SwaggerUiConfig.Customize(c =>
{
c.SupportHeaderParams = true;
c.InjectJavaScript(typeof(SwaggerConfig).Assembly, "AngularJSAuthentication.API.SwaggerExtensions.onComplete.js");
});
【问题讨论】:
标签: asp.net-web-api swagger-ui