我有此默认的Web APi支架。我包括以下Nuget软件包。我在Startup.cs中有以下文件。但是它抛出错误。请协助
我的Startup.cs类具有以下内容:-
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.RoutePrefix = "v1";
var basePath = string.IsNullOrWhiteSpace(c.RoutePrefix) ? "." : "..";
c.SwaggerEndpoint($"{basePath}/swagger/{c.RoutePrefix}/swagger.json", "Name");
});
之所以出现此问题,是因为您没有在services.AddSwaggerGen()
方法中调用ConfigureServices(IServiceCollection services)
。
此方法在DI容器中注册ISwaggerProvider
接口,因为未注册,因此在调用摇摇欲坠的路径时会收到此异常。
ConfigureServices
的完整示例:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
});