无法在 Swagger 中注入 Javascript
Not able to Inject Javascript in Swagger
我试图大摇大摆地注入的 JavaScript 文件收到 404。以下是我的招摇配置
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "A title for your API");
})
.EnableSwaggerUi(c =>
{
c.InjectJavaScript(thisAssembly,"MyApi.Api.SwaggerExtensions.inject.js");
});
因为 inject.js 构建操作设置为嵌入式资源并且逻辑路径是正确的,因为我的项目名称是 MyApi.Api 并且文件位于项目中名为 SwaggerExtensions
的文件夹中
使用自定义资源时,资源名称应包含项目的默认命名空间,如 here 所述。在您的情况下,配置应为:
c.InjectJavaScript(thisAssembly, "AcctMgmt.SwaggerExtensions.inject.js")
我花了很多时间试图找出具有相同名称的方法具有不同的行为。 Startup.Configure 中的配置需要来自 wwwroot 的相对路径:
public void Configure(IApplicationBuilder app) {
//
app.UseSwagger();
app.UseSwaggerUI(c => {
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Salon API v1");
c.InjectJavascript("/SwaggerExtension.js");
});
}
我试图大摇大摆地注入的 JavaScript 文件收到 404。以下是我的招摇配置
var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
.EnableSwagger(c =>
{
c.SingleApiVersion("v1", "A title for your API");
})
.EnableSwaggerUi(c =>
{
c.InjectJavaScript(thisAssembly,"MyApi.Api.SwaggerExtensions.inject.js");
});
因为 inject.js 构建操作设置为嵌入式资源并且逻辑路径是正确的,因为我的项目名称是 MyApi.Api 并且文件位于项目中名为 SwaggerExtensions
的文件夹中使用自定义资源时,资源名称应包含项目的默认命名空间,如 here 所述。在您的情况下,配置应为:
c.InjectJavaScript(thisAssembly, "AcctMgmt.SwaggerExtensions.inject.js")
我花了很多时间试图找出具有相同名称的方法具有不同的行为。 Startup.Configure 中的配置需要来自 wwwroot 的相对路径:
public void Configure(IApplicationBuilder app) {
//
app.UseSwagger();
app.UseSwaggerUI(c => {
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Salon API v1");
c.InjectJavascript("/SwaggerExtension.js");
});
}