【发布时间】:2018-07-25 18:39:11
【问题描述】:
我有一个奇怪的问题,我的 API 项目似乎在一夜之间开始插入一个基本 URL(“/swagger”),而代码没有任何更改。基本 URL 仅在我在本地处理项目时出现,当它部署到 Azure 应用服务时一切正常。问题见图片:
在启动时,我的招摇设置如下所示:
public void ConfigureServices(IServiceCollection services)
{
...
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My AppName API", Version = "v1" });
c.OperationFilter<SwaggerTokenParameter>();
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
...
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("../swagger/v1/swagger.json", "V1 Docs");
});
...
}
我尝试将项目重新克隆到我的机器上,但问题仍然存在,我也尝试手动设置RoutePrefix:
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("../swagger/v1/swagger.json", "V1 Docs");
c.RoutePrefix = string.Empty;
}
这无济于事 - 它只是破坏了 UI,并且定义仍然包含基本 url:
{"swagger":"2.0","info":{"version":"v1","title":"My AppName API"},"basePath":"/swagger",...
【问题讨论】:
-
@Helen 非常感谢你找到这个问题,我已经找了好几个星期了!
标签: c# asp.net-core swagger swashbuckle