一:使用swagger基本使用后台API
使用NuGet 包管理器下载Swashbuckle.AspNetCore
在Startup类的ConfigureServices方法里面注入服务:
public void ConfigureServices(IServiceCollection services) { services.AddSwaggerGen(m => { m.SwaggerDoc("v1", new OpenApiInfo { Title = "Web API", Version = "v1" }); }); services.AddControllers(); }
在Startup类的Configure方法里面添加Swagger有关的中间件:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); app.UseAuthorization(); // 添加Swagger有关中间件 app.UseSwagger(); app.UseSwaggerUI(m => { m.SwaggerEndpoint("/swagger/v1/swagger.json", "Web API"); }); app.UseEndpoints(endpoints => { endpoints.MapControllers(); }); }
默认启用swagger ui页面,需要修改launchSettings.json中的profiles:launchUrl:"swagger/index.html"
如果需要方法的注释和方法参数的注释,需要对接口做XML注释:
安装Microsoft.Extensions.PlatformAbstractions包
修改ConfigureServices方法,增加下面的方法:
public void ConfigureServices(IServiceCollection services) { // 添加Swagger services.AddSwaggerGen(m => { m.SwaggerDoc("v1", new OpenApiInfo { Title = "Web API", Version = "v1" }); // 获取xml文件名 var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; // 获取xml文件路径 var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); // 添加控制器层注释,true表示显示控制器注释 m.IncludeXmlComments(xmlPath, true); }); services.AddControllers(); }
项目右键,选择属性,勾选“XML文档文件”,如下图所示: