在使用ASP.NET Core构建Web API时,通常需要使用两个中间件来添加Swagger文档和UI,以及使用MVC来处理路由和控制器。
下面是使用AddMvc/AddSwaggerGen和UseMvc/UseSwagger(UI)的顺序示例:
public void ConfigureServices(IServiceCollection services)
{
// 添加Swagger生成器
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
});
// 添加MVC服务
services.AddMvc();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 使用Swagger文档
app.UseSwagger();
// 使用Swagger UI(可选)
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
// 使用MVC路由
app.UseMvc();
}
上述示例中,先使用AddSwaggerGen添加Swagger生成器,然后使用AddMvc添加MVC服务。在Configure方法中,首先使用UseSwagger添加Swagger中间件,然后使用UseSwaggerUI添加Swagger UI中间件。最后,使用UseMvc添加MVC中间件。
需要注意的是,使用UseSwagger和UseSwaggerUI的顺序很重要,必须先使用UseSwagger再使用UseSwaggerUI。这是因为UseSwagger必须在UseSwaggerUI之前调用,以确保Swagger文档可以正确生成。
另外,如果你只是想添加Swagger UI而不是Swagger文档生成器,可以省略AddSwaggerGen步骤。
希望以上示例对你有所帮助!